<!DOCTYPE html>
<!-- saved from url=(0464)https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE -->
<html itemscope="" itemtype="https://schema.org/QAPage" class="html__responsive "><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

        <title>c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском</title>
        <link rel="shortcut icon" href="https://cdn.sstatic.net/Sites/ru/Img/favicon.ico?v=92117f9cb35c">
        <link rel="apple-touch-icon" href="https://cdn.sstatic.net/Sites/ru/Img/apple-touch-icon.png?v=0dd80f442adc">
        <link rel="image_src" href="https://cdn.sstatic.net/Sites/ru/Img/apple-touch-icon.png?v=0dd80f442adc"> 
        <link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow на русском" href="https://ru.stackoverflow.com/opensearch.xml">
        <link rel="canonical" href="https://ru.stackoverflow.com/questions/901454/%d0%9e%d0%b1%d1%8a%d1%8f%d1%81%d0%bd%d0%b8%d1%82%d0%b5-%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-%d1%80%d0%b0%d0%b7%d1%80%d0%b5%d0%b6%d0%b5%d0%bd%d0%bd%d1%8b%d0%b5-%d0%bc%d0%b0%d1%82%d1%80%d0%b8%d1%86%d1%8b-%d0%ba%d0%b0%d0%ba-%d0%b8%d1%85-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d0%b8-%d0%bc%d0%b0%d1%82%d0%b5%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b5-%d0%be">
    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
        <meta property="og:type" content="website">
        <meta property="og:url" content="https://ru.stackoverflow.com/questions/901454/%d0%9e%d0%b1%d1%8a%d1%8f%d1%81%d0%bd%d0%b8%d1%82%d0%b5-%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-%d1%80%d0%b0%d0%b7%d1%80%d0%b5%d0%b6%d0%b5%d0%bd%d0%bd%d1%8b%d0%b5-%d0%bc%d0%b0%d1%82%d1%80%d0%b8%d1%86%d1%8b-%d0%ba%d0%b0%d0%ba-%d0%b8%d1%85-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d0%b8-%d0%bc%d0%b0%d1%82%d0%b5%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b5-%d0%be">
        <meta property="og:site_name" content="Stack Overflow на русском">
        <meta property="og:image" itemprop="image primaryImageOfPage" content="https://cdn.sstatic.net/Sites/ru/Img/apple-touch-icon@2.png?v=387ab71bdafd">
        <meta name="twitter:card" content="summary">
        <meta name="twitter:domain" content="ru.stackoverflow.com">
        <meta name="twitter:title" property="og:title" itemprop="name" content="Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними">
        <meta name="twitter:description" property="og:description" itemprop="description" content="Скажите, пожалуйста, правильно ли я думаю.
На сколько я понял разреженная матрица - это матрица вроде этой:  

1 0 0 0
0 0 1 1
0 1 0 0
1 0 0 1
Если это разреженная матрица - то генерировать ее эле...">
    <script type="text/javascript" async="" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/watch.js"></script><script async="" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/beacon.js"></script><script async="" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/analytics.js"></script><script id="webpack-public-path" type="text/uri-list">https://cdn.sstatic.net/</script>
    <script src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/jquery.min.js"></script>
    <script async="" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/stacks.min.js"></script>
    <script src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/stub.ru.js"></script>
    
    <link rel="stylesheet" type="text/css" href="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/stacks.css">
    <link rel="stylesheet" type="text/css" href="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/primary.css">


    
            <link rel="alternate" type="application/atom+xml" title="Лента для вопроса «Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними»" href="https://ru.stackoverflow.com/feeds/question/901454">
            <meta name="twitter:app:country" content="US">
            <meta name="twitter:app:name:iphone" content="Stack Exchange iOS">
            <meta name="twitter:app:id:iphone" content="871299723">
            <meta name="twitter:app:url:iphone" content="se-zaphod://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE">
            <meta name="twitter:app:name:ipad" content="Stack Exchange iOS">
            <meta name="twitter:app:id:ipad" content="871299723">
            <meta name="twitter:app:url:ipad" content="se-zaphod://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE">
            <meta name="twitter:app:name:googleplay" content="Stack Exchange Android">
            <meta name="twitter:app:url:googleplay" content="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE">
            <meta name="twitter:app:id:googleplay" content="com.stackexchange.marvin">
        <script>
            StackExchange.ready(function () {

                    StackExchange.using("snippets", function () {
                        StackExchange.snippets.initSnippetRenderer();
                    });
                    
                StackExchange.using("postValidation", function () {
                    StackExchange.postValidation.initOnBlurAndSubmit($('#post-form'), 2, 'answer');
                });


                StackExchange.question.init({showAnswerHelp:true,totalCommentCount:3,shownCommentCount:3,enableTables:true,questionId:901454});

                styleCode();

                    StackExchange.realtime.subscribeToQuestion('609', '901454');
                    StackExchange.using("gps", function () { StackExchange.gps.trackOutboundClicks('#content', '.js-post-body'); });


            });
        </script>

        
        
        
        <link rel="stylesheet" type="text/css" href="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/channels.css">
        
        
        


    <script>
        StackExchange.ready(function () {
            StackExchange.realtime.init('wss://qa.sockets.stackexchange.com');
                StackExchange.realtime.subscribeToReputationNotifications('609');
        StackExchange.realtime.subscribeToTopBarNotifications('609');
        });
    </script>
    <script type="application/json" data-role="module-args" data-module-name="Shared/options.mod">{"options":{"locale":"ru","serverTime":1648400114,"routeName":"Questions/Show","stackAuthUrl":"https://stackauth.com","networkMetaHostname":"meta.stackexchange.com","site":{"name":"Stack Overflow на русском","description":"Вопросы и ответы для программистов","isNoticesTabEnabled":true,"enableNewTagCreationWarning":false,"insertSpaceAfterNameTabCompletion":false,"id":609,"cookieDomain":".stackoverflow.com","childUrl":"https://ru.meta.stackoverflow.com","negativeVoteScoreFloor":null,"enableSocialMediaInSharePopup":true,"protocol":"https"},"user":{"fkey":"0a12fd6732c1a1dead1273e33a56a2f1657805bef5c58e5855eb5fa67826278d","tid":"ee2d6eff-68bd-339f-0b38-35e7fd14caf6","rep":0,"isAnonymous":true,"isAnonymousNetworkWide":true},"realtime":{"newest":true,"active":true,"tagged":true,"staleDisconnectIntervalInHours":0},"events":{"postType":{"question":1},"postEditionSection":{"title":1,"body":2,"tags":3}},"story":{"minCompleteBodyLength":75,"likedTagsMaxLength":300,"dislikedTagsMaxLength":300},"jobPreferences":{"maxNumDeveloperRoles":2,"maxNumIndustries":4},"svgIconPath":"https://cdn.sstatic.net/Img/stacks-icons","svgIconHash":"cc5b3e0efea0"}}</script>
<script type="application/json" data-role="module-args" data-module-name="Shared/settings.mod">{"settings":{"userProfile":{},"userMessaging":{"showNewFeatureNotice":true},"tags":{"allowNonAsciiTags":true},"subscriptions":{"defaultBasicMaxTrueUpSeats":250,"defaultFreemiumMaxTrueUpSeats":50,"defaultMaxTrueUpSeats":1000},"snippets":{"renderDomain":"stacksnippets.net","snippetsEnabled":true},"site":{"allowImageUploads":true,"enableImgurHttps":true,"enableUserHovercards":true,"forceHttpsImages":true,"styleCode":true},"questions":{"enableQuestionTitleLengthLiveWarning":true,"maxTitleSize":150,"questionTitleLengthStartLiveWarningChars":50},"intercom":{"appId":"inf0secd","hostBaseUrl":"https://stacksnippets.net"},"paths":{},"monitoring":{"clientTimingsAbsoluteTimeout":30000,"clientTimingsDebounceTimeout":1000},"mentions":{"maxNumUsersInDropdown":50},"markdown":{"enableTables":true},"legal":{"oneTrustConfigId":"c3d9f1e3-55f3-4eba-b268-46cee4c6789c"},"flags":{"allowRetractingCommentFlags":true,"allowRetractingFlags":true},"elections":{"opaVoteResultsBaseUrl":"https://www.opavote.com/results/"},"comments":{},"accounts":{"currentPasswordRequiredForChangingStackIdPassword":true}}}</script>
<script>StackExchange.init();</script>

    <script>
        StackExchange.using.setCacheBreakers({"js/adops.ru.js":"6da43f5e0a84","js/ask.ru.js":"5de708b9c6fe","js/begin-edit-event.ru.js":"dd955babf04d","js/copy-transpiled.ru.js":"6e17fb344f2c","js/events.ru.js":"","js/explore-qlist.ru.js":"2b1f34938b8b","js/full-anon.ru.js":"02079398059d","js/full.ru.js":"86961efef3f1","js/highlightjs-loader.ru.js":"3c37abf5cb6d","js/inline-tag-editing.ru.js":"1a6e7eafcf43","js/keyboard-shortcuts.ru.js":"8751d255d810","js/markdown-it-loader.ru.js":"5818ef89ff9d","js/moderator.ru.js":"e4d22dad9ebe","js/postCollections-transpiled.ru.js":"cf03982fe492","js/post-validation.ru.js":"4308f0caa6c4","js/question-editor.ru.js":"","js/review-v2-transpiled.ru.js":"e1c38c4c50ac","js/revisions.ru.js":"de50c2aec2c3","js/stacks-editor.ru.js":"76c2d2a4b48c","js/tageditor.ru.js":"82dcf2a70f32","js/tageditornew.ru.js":"b02b1fafd4ac","js/tagsuggestions.ru.js":"a59b49e28bb0","js/unlimited-transpiled.ru.js":"7ed67670b600","js/wmd.ru.js":"16535c4b8417","js/snippet-javascript-codemirror.ru.js":"73fce5cc7219"});
        StackExchange.using("gps", function() {
             StackExchange.gps.init(true);
        });
    </script>
    <noscript id="noscript-css"><style>body,.top-bar{margin-top:1.9em}</style></noscript>
    <script async="" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/full-anon.ru.js"></script><meta http-equiv="origin-trial" content="AxujKG9INjsZ8/gUq8+dTruNvk7RjZQ1oFhhgQbcTJKDnZfbzSTE81wvC2Hzaf3TW4avA76LTZEMdiedF1vIbA4AAABueyJvcmlnaW4iOiJodHRwczovL2ltYXNkay5nb29nbGVhcGlzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzVGhpcmRQYXJ0eSI6dHJ1ZX0="><meta http-equiv="origin-trial" content="Azuce85ORtSnWe1MZDTv68qpaW3iHyfL9YbLRy0cwcCZwVnePnOmkUJlG8HGikmOwhZU22dElCcfrfX2HhrBPAkAAAB7eyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A16nvcdeoOAqrJcmjLRpl1I6f3McDD8EfofAYTt/P/H4/AWwB99nxiPp6kA0fXoiZav908Z8etuL16laFPUdfQsAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="AxBHdr0J44vFBQtZUqX9sjiqf5yWZ/OcHRcRMN3H9TH+t90V/j3ENW6C8+igBZFXMJ7G3Pr8Dd13632aLng42wgAAACBeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiVHJ1c3RUb2tlbnMiLCJleHBpcnkiOjE2NTI3NzQ0MDAsImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><meta http-equiv="origin-trial" content="A88BWHFjcawUfKU3lIejLoryXoyjooBXLgWmGh+hNcqMK44cugvsI5YZbNarYvi3roc1fYbHA1AVbhAtuHZflgEAAAB2eyJvcmlnaW4iOiJodHRwczovL2dvb2dsZS5jb206NDQzIiwiZmVhdHVyZSI6IlRydXN0VG9rZW5zIiwiZXhwaXJ5IjoxNjUyNzc0NDAwLCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlfQ=="><meta http-equiv="origin-trial" content="A8FHS1NmdCwGqD9DwOicnHHY+y27kdWfxKa0YHSGDfv0CSpDKRHTQdQmZVPDUdaFWUsxdgVxlwAd6o+dhJykPA0AAACWeyJvcmlnaW4iOiJodHRwczovL2RvdWJsZWNsaWNrLm5ldDo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A8zdXi6dr1hwXEUjQrYiyYQGlU3557y5QWDnN0Lwgj9ePt66XMEvNkVWOEOWPd7TP9sBQ25X0Q15Lr1Nn4oGFQkAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXN5bmRpY2F0aW9uLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><meta http-equiv="origin-trial" content="A4/Htern2udN9w3yJK9QgWQxQFruxOXsXL7cW60DyCl0EZFGCSme/J33Q/WzF7bBkVvhEWDlcBiUyZaim5CpFQwAAACceyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ3NlcnZpY2VzLmNvbTo0NDMiLCJmZWF0dXJlIjoiQ29udmVyc2lvbk1lYXN1cmVtZW50IiwiZXhwaXJ5IjoxNjQzMTU1MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZSwiaXNUaGlyZFBhcnR5Ijp0cnVlLCJ1c2FnZSI6InN1YnNldCJ9"><script src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/pubads_impl_2022031601.js" async=""></script><script async="" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/post-validation.ru.js"></script><script async="" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/highlightjs-loader.ru.js"></script><link rel="preload" href="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/f.txt" as="script"><script type="text/javascript" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/f.txt"></script><link rel="preload" href="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/f(1).txt" as="script"><script type="text/javascript" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/f(1).txt"></script></head>
    <body class="question-page unified-theme">
    <div id="notify-container"></div>
    <div id="custom-header"></div>
        
<header class="top-bar js-top-bar top-bar__network">
    <div class="wmx12 mx-auto d-flex ai-center h100" role="menubar">
        <div class="-main flex--item">
                <a href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" class="left-sidebar-toggle p0 ai-center jc-center js-left-sidebar-toggle" role="menuitem" aria-haspopup="true" aria-controls="left-sidebar" aria-expanded="false"><span class="ps-relative"></span></a>
                <div class="topbar-dialog leftnav-dialog js-leftnav-dialog dno">
                    <div class="left-sidebar js-unpinned-left-sidebar" data-can-be="left-sidebar" data-is-here-when="sm"></div>
                </div>
                    <a href="https://ru.stackoverflow.com/" class="-logo js-gps-track" data-gps-track="top_nav.click({is_current:false, location:2, destination:8})">
                        <span class="-img _glyph">Stack Overflow на русском</span>
                    </a>



        </div>


            <form id="search" role="search" action="https://ru.stackoverflow.com/search" class="flex--item fl-grow1 searchbar px12 js-searchbar " autocomplete="off">
                    <div class="ps-relative">
                        <input name="q" type="text" placeholder="Поиск..." value="" autocomplete="off" maxlength="240" class="s-input s-input__search js-search-field " aria-label="Поиск" aria-controls="top-search" data-controller="s-popover" data-action="focus-&gt;s-popover#show" data-s-popover-placement="bottom-start">
                        <svg aria-hidden="true" class="s-input-icon s-input-icon__search svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18l1.5-1.5ZM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0Z"></path></svg>
                        <div class="s-popover p0 wmx100 wmn4 sm:wmn-initial js-top-search-popover" id="top-search" role="menu">
    <div class="s-popover--arrow"></div>
    <div class="js-spinner p24 d-flex ai-center jc-center d-none">
        <div class="s-spinner s-spinner__sm fc-orange-400">
            <div class="v-visible-sr">Loading…</div>
        </div>
    </div>

    <span class="v-visible-sr js-screen-reader-info"></span>
    <div class="js-ac-results overflow-y-auto hmx3 d-none"></div>

    <div class="js-search-hints" aria-describedby="Tips for searching"></div>
</div>
                    </div>
            </form>
        
        

<ol class="overflow-x-auto ml-auto -secondary d-flex ai-center list-reset h100 user-logged-out" role="presentation">
        <li class="-item searchbar-trigger"><a href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" class="-link js-searchbar-trigger" role="button" aria-label="Поиск" aria-haspopup="true" aria-controls="search" title="Click to show search"><svg aria-hidden="true" class="svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18l1.5-1.5ZM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0Z"></path></svg></a></li>
        <li class="-item inbox-button-item">
            <a href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" class="-link js-inbox-button" aria-label="Входящие сообщения" title="Последние входящие сообщения" role="menuitem" aria-haspopup="true" aria-expanded="false" data-unread-count="0">
                <svg aria-hidden="true" class="svg-icon iconInbox" width="20" height="18" viewBox="0 0 20 18"><path d="M4.63 1h10.56a2 2 0 0 1 1.94 1.35L20 10.79V15a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-4.21l2.78-8.44c.25-.8 1-1.36 1.85-1.35Zm8.28 12 2-2h2.95l-2.44-7.32a1 1 0 0 0-.95-.68H5.35a1 1 0 0 0-.95.68L1.96 11h2.95l2 2h6Z"></path></svg>
                <span class="indicator-badge js-unread-count _important d-none">0</span>
            </a>
        </li>
        <li class="-item achievements-button-item">
            <a href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" class="-link js-achievements-button" data-unread-class="_highlighted-positive" aria-label="Achievements" title="Последние достижения: репутация, знаки и привилегии" role="menuitem" aria-haspopup="true" aria-expanded="false" data-unread-count="0" data-lit-up="false">
                <svg aria-hidden="true" class="svg-icon iconAchievements" width="18" height="18" viewBox="0 0 18 18"><path d="M15 2V1H3v1H0v4c0 1.6 1.4 3 3 3v1c.4 1.5 3 2.6 5 3v2H5s-1 1.5-1 2h10c0-.4-1-2-1-2h-3v-2c2-.4 4.6-1.5 5-3V9c1.6-.2 3-1.4 3-3V2h-3ZM3 7c-.5 0-1-.5-1-1V4h1v3Zm8.4 2.5L9 8 6.6 9.4l1-2.7L5 5h3l1-2.7L10 5h2.8l-2.3 1.8 1 2.7h-.1ZM16 6c0 .5-.5 1-1 1V4h1v2Z"></path></svg>
                <span class="indicator-badge js-unread-count _positive d-none">+0</span>
            </a>
        </li>
        <li class="-item help-button-item">
            <a href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" class="-link js-help-button" title="Справка и прочие ресурсы" role="menuitem" aria-haspopup="true" aria-controls="topbar-help-dialog" data-ga="[&quot;top navigation&quot;,&quot;help menu click&quot;,null,null,null]"><svg aria-hidden="true" class="svg-icon iconHelp" width="18" height="18" viewBox="0 0 18 18"><path d="M9 1C4.64 1 1 4.64 1 9c0 4.36 3.64 8 8 8 4.36 0 8-3.64 8-8 0-4.36-3.64-8-8-8Zm.81 12.13c-.02.71-.55 1.15-1.24 1.13-.66-.02-1.17-.49-1.15-1.2.02-.72.56-1.18 1.22-1.16.7.03 1.2.51 1.17 1.23ZM11.77 8c-.59.66-1.78 1.09-2.05 1.97a4 4 0 0 0-.09.75c0 .05-.03.16-.18.16H7.88c-.16 0-.18-.1-.18-.15.06-1.35.66-2.2 1.83-2.88.39-.29.7-.75.7-1.24.01-1.24-1.64-1.82-2.35-.72-.21.33-.18.73-.18 1.1H5.75c0-1.97 1.03-3.26 3.03-3.26 1.75 0 3.47.87 3.47 2.83 0 .57-.2 1.05-.48 1.44Z"></path></svg></a>
        </li>
        <div class="topbar-dialog help-dialog js-help-dialog dno" id="topbar-help-dialog" role="menu">
            <div class="modal-content">
                <ul>
                        <li>
                            <a href="https://ru.stackoverflow.com/tour" class="js-gps-track" data-gps-track="help_popup.click({ item_type:1 })" data-ga="[&quot;top navigation&quot;,&quot;tour submenu click&quot;,null,null,null]">
                                Тур
                                <span class="item-summary">
                                    Начните с этой страницы, чтобы быстро ознакомиться с сайтом
                                </span>
                            </a>
                        </li>
                    <li>
                        <a href="https://ru.stackoverflow.com/help" class="js-gps-track" data-gps-track="help_popup.click({ item_type:4 })" data-ga="[&quot;top navigation&quot;,&quot;help center&quot;,null,null,null]">
                            Справка
                            <span class="item-summary">
                                Подробные ответы на любые возможные вопросы
                            </span>
                        </a>
                    </li>
                                <li>
                                    <a href="https://ru.meta.stackoverflow.com/" class="js-gps-track" data-gps-track="help_popup.click({ item_type:2 })" data-ga="[&quot;top navigation&quot;,&quot;meta submenu click&quot;,null,null,null]">
                                        Мета
                                        <span class="item-summary">
                                            Обсудить принципы работы и политику сайта
                                        </span>
                                    </a>
                                </li>
                            <li>
                                <a href="https://stackoverflow.co/" class="js-gps-track" data-gps-track="help_popup.click({ item_type:6 })" data-ga="[&quot;top navigation&quot;,&quot;about us submenu click&quot;,null,null,null]">
                                    О нас
                                    <span class="item-summary">
                                        Узнать больше о компании Stack Overflow
                                    </span>
                                </a>
                            </li>
                            <li>
                                <a href="https://stackoverflow.com/?products" class="js-gps-track" data-gps-track="help_popup.click({ item_type:7 })" data-ga="[&quot;top navigation&quot;,&quot;business submenu click&quot;,null,null,null]">
                                    Бизнес
                                    <span class="item-summary">
Узнать больше о поиске разработчиков или рекламе на сайте                                    </span>
                                </a>
                            </li>
                </ul>
            </div>
        </div>
        <li class="-item site-switcher-item">
            <a href="https://stackexchange.com/" class="-link js-site-switcher-button js-gps-track" data-gps-track="site_switcher.show" aria-label="Site switcher" title="Список всех сайтов Stack Exchange (179 сайтов)" role="menuitem" aria-haspopup="true" aria-expanded="false" data-ga="[&quot;top navigation&quot;,&quot;stack exchange click&quot;,null,null,null]">
                <svg aria-hidden="true" class="svg-icon iconStackExchange" width="18" height="18" viewBox="0 0 18 18"><path d="M15 1H3a2 2 0 0 0-2 2v2h16V3a2 2 0 0 0-2-2ZM1 13c0 1.1.9 2 2 2h8v3l3-3h1a2 2 0 0 0 2-2v-2H1v2Zm16-7H1v4h16V6Z"></path></svg>
            </a>
        </li>

            <li class="-ctas">
                            <a href="https://ru.stackoverflow.com/users/login?ssrc=head&amp;returnurl=https%3a%2f%2fru.stackoverflow.com%2fquestions%2f901454%2f%25D0%259E%25D0%25B1%25D1%258A%25D1%258F%25D1%2581%25D0%25BD%25D0%25B8%25D1%2582%25D0%25B5-%25D1%2587%25D1%2582%25D0%25BE-%25D1%2582%25D0%25B0%25D0%25BA%25D0%25BE%25D0%25B5-%25D1%2580%25D0%25B0%25D0%25B7%25D1%2580%25D0%25B5%25D0%25B6%25D0%25B5%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B5-%25D0%25BC%25D0%25B0%25D1%2582%25D1%2580%25D0%25B8%25D1%2586%25D1%258B-%25D0%25BA%25D0%25B0%25D0%25BA-%25D0%25B8%25D1%2585-%25D0%25B3%25D0%25B5%25D0%25BD%25D0%25B5%25D1%2580%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D1%2582%25D1%258C-%25D0%25B8-%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B5%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B8%25D1%2587%25D0%25B5%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B5-%25D0%25BE" class="login-link s-btn s-btn__filled py8 js-gps-track" rel="nofollow" data-gps-track="login.click" data-ga="[&quot;top navigation&quot;,&quot;login button click&quot;,null,null,null]">Войти</a>
                            <a href="https://ru.stackoverflow.com/users/signup?ssrc=head&amp;returnurl=https%3a%2f%2fru.stackoverflow.com%2fquestions%2f901454%2f%25D0%259E%25D0%25B1%25D1%258A%25D1%258F%25D1%2581%25D0%25BD%25D0%25B8%25D1%2582%25D0%25B5-%25D1%2587%25D1%2582%25D0%25BE-%25D1%2582%25D0%25B0%25D0%25BA%25D0%25BE%25D0%25B5-%25D1%2580%25D0%25B0%25D0%25B7%25D1%2580%25D0%25B5%25D0%25B6%25D0%25B5%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B5-%25D0%25BC%25D0%25B0%25D1%2582%25D1%2580%25D0%25B8%25D1%2586%25D1%258B-%25D0%25BA%25D0%25B0%25D0%25BA-%25D0%25B8%25D1%2585-%25D0%25B3%25D0%25B5%25D0%25BD%25D0%25B5%25D1%2580%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D1%2582%25D1%258C-%25D0%25B8-%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B5%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B8%25D1%2587%25D0%25B5%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B5-%25D0%25BE" class="login-link s-btn s-btn__primary py8" rel="nofollow" data-ga="[&quot;sign up&quot;,&quot;Sign Up Navigation&quot;,&quot;Header&quot;,null,null]">Регистрация</a>

            </li>

    <li class="js-topbar-dialog-corral" role="presentation">
            

    <div class="topbar-dialog siteSwitcher-dialog dno" role="menu">
        <div class="header fw-wrap">
            <h3 class="flex--item">
                <a href="https://ru.stackoverflow.com/">текущее сообщество</a>
            </h3>
            <div class="flex--item fl1">
                <div class="ai-center d-flex jc-end">
                    <button class="js-close-button s-btn s-btn__muted p0 ml8 d-none sm:d-block" type="button" aria-label="Close">
                        <svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9 15 4.41Z"></path></svg>
                    </button>
                </div>
            </div>
        </div>
        <div class="modal-content bg-powder-050 current-site-container">
            <ul class="current-site ">
                    <li class="d-flex">
                            <div class="fl1">
                <a href="https://ru.stackoverflow.com/" class="current-site-link site-link js-gps-track d-flex gs8 gsx" data-id="609" data-gps-track="site_switcher.click({ item_type:3 })">
        <div class="favicon favicon-ru site-icon flex--item" title="Stack Overflow на русском"></div>
        <span class="flex--item fl1">
            Stack Overflow на русском
        </span>
    </a>

    </div>
    <div class="related-links">
            <a href="https://ru.stackoverflow.com/help" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:14 })">справка</a>
            <a href="https://chat.stackexchange.com/?tab=site&amp;host=ru.stackoverflow.com" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:6 })">чат</a>
    </div>

                    </li>
                    <li class="related-site d-flex">
                            <div class="L-shaped-icon-container">
        <span class="L-shaped-icon"></span>
    </div>

                            <a href="https://ru.meta.stackoverflow.com/" class=" site-link js-gps-track d-flex gs8 gsx" data-id="610" data-gps-track="site.switch({ target_site:610, item_type:3 }),site_switcher.click({ item_type:4 })">
        <div class="favicon favicon-rumeta site-icon flex--item" title="Stack Overflow на русском Meta"></div>
        <span class="flex--item fl1">
            Stack Overflow на русском Meta
        </span>
    </a>

                    </li>
            </ul>
        </div>

        <div class="header" id="your-communities-header">
            <h3>
Ваши сообщества            </h3>

        </div>
        <div class="modal-content" id="your-communities-section">

                <div class="call-to-login">
Чтобы изменить список, <a href="https://ru.stackoverflow.com/users/signup?ssrc=site_switcher&amp;returnurl=https%3a%2f%2fru.stackoverflow.com%2fquestions%2f901454%2f%25D0%259E%25D0%25B1%25D1%258A%25D1%258F%25D1%2581%25D0%25BD%25D0%25B8%25D1%2582%25D0%25B5-%25D1%2587%25D1%2582%25D0%25BE-%25D1%2582%25D0%25B0%25D0%25BA%25D0%25BE%25D0%25B5-%25D1%2580%25D0%25B0%25D0%25B7%25D1%2580%25D0%25B5%25D0%25B6%25D0%25B5%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B5-%25D0%25BC%25D0%25B0%25D1%2582%25D1%2580%25D0%25B8%25D1%2586%25D1%258B-%25D0%25BA%25D0%25B0%25D0%25BA-%25D0%25B8%25D1%2585-%25D0%25B3%25D0%25B5%25D0%25BD%25D0%25B5%25D1%2580%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D1%2582%25D1%258C-%25D0%25B8-%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B5%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B8%25D1%2587%25D0%25B5%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B5-%25D0%25BE" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:10 })">зарегистрируйтесь</a> или <a href="https://ru.stackoverflow.com/users/login?ssrc=site_switcher&amp;returnurl=https%3a%2f%2fru.stackoverflow.com%2fquestions%2f901454%2f%25D0%259E%25D0%25B1%25D1%258A%25D1%258F%25D1%2581%25D0%25BD%25D0%25B8%25D1%2582%25D0%25B5-%25D1%2587%25D1%2582%25D0%25BE-%25D1%2582%25D0%25B0%25D0%25BA%25D0%25BE%25D0%25B5-%25D1%2580%25D0%25B0%25D0%25B7%25D1%2580%25D0%25B5%25D0%25B6%25D0%25B5%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B5-%25D0%25BC%25D0%25B0%25D1%2582%25D1%2580%25D0%25B8%25D1%2586%25D1%258B-%25D0%25BA%25D0%25B0%25D0%25BA-%25D0%25B8%25D1%2585-%25D0%25B3%25D0%25B5%25D0%25BD%25D0%25B5%25D1%2580%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D1%2582%25D1%258C-%25D0%25B8-%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B5%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B8%25D1%2587%25D0%25B5%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B5-%25D0%25BE" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:11 })">войдите</a>.                </div>
        </div>

        <div class="header">
            <h3><a href="https://stackexchange.com/sites">другие сообщества stack exchange</a>
            </h3>
            <a href="https://stackoverflow.blog/" class="float-right">блог компании</a>
        </div>
        <div class="modal-content">
                <div class="child-content"></div>
        </div>        
    </div>

    </li>
</ol>

    </div>
</header>

    <script>
        StackExchange.ready(function () { StackExchange.topbar.init(); });
        StackExchange.scrollPadding.setPaddingTop(50, 10); 
    </script>



            

        
    
<div class="sm:d-none py24 bg-black-750 fc-black-200 ps-relative js-dismissable-hero">
    <div class="px12 d-flex ai-center jc-center mx-auto wmx12">
        <div class="flex--item wmx3 fs-body2 mr64 md:mr32">
            <p>Stack Overflow на русском — это сайт вопросов и ответов для программистов. Присоединяйтесь! Регистрация займёт не больше минуты.</p>

            <a href="https://ru.stackoverflow.com/users/signup?ssrc=hero&amp;returnurl=https%3a%2f%2fru.stackoverflow.com%2fquestions%2f901454%2f%25D0%259E%25D0%25B1%25D1%258A%25D1%258F%25D1%2581%25D0%25BD%25D0%25B8%25D1%2582%25D0%25B5-%25D1%2587%25D1%2582%25D0%25BE-%25D1%2582%25D0%25B0%25D0%25BA%25D0%25BE%25D0%25B5-%25D1%2580%25D0%25B0%25D0%25B7%25D1%2580%25D0%25B5%25D0%25B6%25D0%25B5%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B5-%25D0%25BC%25D0%25B0%25D1%2582%25D1%2580%25D0%25B8%25D1%2586%25D1%258B-%25D0%25BA%25D0%25B0%25D0%25BA-%25D0%25B8%25D1%2585-%25D0%25B3%25D0%25B5%25D0%25BD%25D0%25B5%25D1%2580%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D1%2582%25D1%258C-%25D0%25B8-%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B5%25D0%25BC%25D0%25B0%25D1%2582%25D0%25B8%25D1%2587%25D0%25B5%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B5-%25D0%25BE" class="s-btn s-btn__primary">Присоединиться к сообществу</a>
        </div>
        <div class="d-flex fd-column ai-center wmn3 hero-background">
            <div class="d-flex ai-center mb24">
                <div class="flex--item mr16">
                    <img width="31" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/anonymousHeroQuestions.svg">
                </div>
                <div class="flex--item">
                    Любой может задать вопрос
                </div>
            </div>
            <div class="d-flex ai-center mb24">
                <div class="flex--item mr16">
                    <img width="35" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/anonymousHeroAnswers.svg">
                </div>
                <div class="flex--item">
                    Любой может ответить
                </div>
            </div>
            <div class="d-flex ai-center">
                <div class="flex--item mr16">
                    <img width="24" src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/anonymousHeroUpvote.svg">
                </div>
                <div class="flex--item wmx2">
                    Лучшие ответы получают голоса и поднимаются наверх
                </div>
            </div>
        </div>
            <div class="flex--item as-start md:ps-absolute t8 r8">
                <button class="s-btn s-btn__muted p8 js-dismiss">
                    <svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9 15 4.41Z"></path></svg>
                </button>
            </div>
    </div>
</div>

<script>
    StackExchange.ready(function () {
        StackExchange.Hero.init("nso", "a");

        var location = 0;
        if ($("body").hasClass("questions-page")) {
            location = 1;
        } else if ($("body").hasClass("question-page")) {
            location = 1;
        } else if ($("body").hasClass("faq-page")) {
            location = 5;
        } else if ($("body").hasClass("home-page")) {
            location = 3;
        }

        $('.js-cta-button').click(function () {
            StackExchange.using("gps", function () {
                StackExchange.gps.track("hero.action", { hero_action_type: 'cta', location: location }, true);
            });
        });

        // TODO: we should review the class names and whatnot in use here. Older heroes use id selectors, the newer
        // sticky question hero on SO has a .js-dismiss class instead, but it's apparently not used anywhere... 
        // It's not great. Ideally we'd have a set of classes in the partials above that would correspond to 
        // the behaviours we want here in a more clear way. 

        // sticky question-page hero at the bottom of the page on SO
        $('.js-dismiss').on('click', function () {
            StackExchange.using("gps", function () {
                StackExchange.gps.track("hero.action", { hero_action_type: "close", location: location }, true);
            });
            StackExchange.Hero.dismiss();
            $(".js-dismissable-hero").fadeOut("fast");
        });
    });
</script>



    <div class="container">
                

<div id="left-sidebar" data-is-here-when="md lg" class="left-sidebar js-pinned-left-sidebar ps-relative">
    <div class="left-sidebar--sticky-container js-sticky-leftnav">
        <nav role="navigation">
            <ol class="nav-links">
                    

<li class="ps-relative">

    <a href="https://ru.stackoverflow.com/" class="pl8 js-gps-track nav-links--link" data-gps-track="top_nav.click({is_current:false, location:2, destination:8})" aria-controls="" data-controller="" data-s-popover-placement="right" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never">
            <div class="d-flex ai-center">
                <div class="flex--item truncate">
                    Главная
                </div>
            </div>
    </a>
</li>

                <li>
                    <ol class="nav-links">
                            <li class="fs-fine tt-uppercase ml8 mt16 mb4 fc-light">Публичные</li>

                            

<li class="ps-relative  youarehere">

    <a id="nav-questions" href="https://ru.stackoverflow.com/questions" class="pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current:true, location:2, destination:1})" aria-controls="" data-controller="" data-s-popover-placement="right" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never">
<svg aria-hidden="true" class="svg-icon iconGlobe" width="18" height="18" viewBox="0 0 18 18"><path d="M9 1C4.64 1 1 4.64 1 9c0 4.36 3.64 8 8 8 4.36 0 8-3.64 8-8 0-4.36-3.64-8-8-8ZM8 15.32a6.46 6.46 0 0 1-4.3-2.74 6.46 6.46 0 0 1-.93-5.01L7 11.68v.8c0 .88.12 1.32 1 1.32v1.52Zm5.72-2c-.2-.66-1-1.32-1.72-1.32h-1v-2c0-.44-.56-1-1-1H6V7h1c.44 0 1-.56 1-1V5h2c.88 0 1.4-.72 1.4-1.6v-.33a6.45 6.45 0 0 1 3.83 4.51 6.45 6.45 0 0 1-1.51 5.73v.01Z"></path></svg>            <span class="-link--channel-name">Вопросы</span>
    </a>
</li>



                            

<li class="ps-relative">

    <a id="nav-tags" href="https://ru.stackoverflow.com/tags" class=" js-gps-track nav-links--link" data-gps-track="top_nav.click({is_current:false, location:2, destination:2})" aria-controls="" data-controller="" data-s-popover-placement="right" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never">
            <div class="d-flex ai-center">
                <div class="flex--item truncate">
                    Метки
                </div>
            </div>
    </a>
</li>

                            

<li class="ps-relative">

    <a id="nav-users" href="https://ru.stackoverflow.com/users" class=" js-gps-track nav-links--link" data-gps-track="top_nav.click({is_current:false, location:2, destination:3})" aria-controls="" data-controller="" data-s-popover-placement="right" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never">
            <div class="d-flex ai-center">
                <div class="flex--item truncate">
                    Участники
                </div>
            </div>
    </a>
</li>

                                

<li class="ps-relative">

    <a id="nav-unanswered" href="https://ru.stackoverflow.com/unanswered" class=" js-gps-track nav-links--link" data-gps-track="top_nav.click({is_current:false, location:2, destination:5})" aria-controls="" data-controller="" data-s-popover-placement="right" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never">
            <div class="d-flex ai-center">
                <div class="flex--item truncate">
                    Неотвеченные
                </div>
            </div>
    </a>
</li>

                    </ol>
                </li>
                   


<li>
    <ol class="nav-links">
    </ol>
</li> 
            </ol>
        </nav>
    </div>





</div>




        <div id="content" class="snippet-hidden">

            
<div itemprop="mainEntity" itemscope="" itemtype="https://schema.org/Question">
    <link itemprop="image" href="https://cdn.sstatic.net/Sites/ru/Img/apple-touch-icon.png?v=0dd80f442adc">

    <div class="inner-content clearfix">

        

            <div id="question-header" class="d-flex sm:fd-column">
                        <h1 itemprop="name" class="fs-headline1 ow-break-word mb8 flex--item fl1"><a href="https://ru.stackoverflow.com/questions/901454/%d0%9e%d0%b1%d1%8a%d1%8f%d1%81%d0%bd%d0%b8%d1%82%d0%b5-%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-%d1%80%d0%b0%d0%b7%d1%80%d0%b5%d0%b6%d0%b5%d0%bd%d0%bd%d1%8b%d0%b5-%d0%bc%d0%b0%d1%82%d1%80%d0%b8%d1%86%d1%8b-%d0%ba%d0%b0%d0%ba-%d0%b8%d1%85-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d0%b8-%d0%bc%d0%b0%d1%82%d0%b5%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b5-%d0%be" class="question-hyperlink">Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними</a></h1>
                <div class="ml12 aside-cta flex--item print:d-none sm:ml0 sm:mb12 sm:order-first sm:as-end">
                        <a href="https://ru.stackoverflow.com/questions/ask" class="ws-nowrap s-btn s-btn__primary">
        Задать вопрос
    </a>

                </div>
            </div>
            <div class="d-flex fw-wrap pb8 mb16 bb bc-black-075">
                    <div class="flex--item ws-nowrap mr16 mb8" title="2018-11-02 14:38:48Z">
                        <span class="fc-light mr2">Вопрос задан</span>
                        <time itemprop="dateCreated" datetime="2018-11-02T14:38:48">3 года 4 месяца назад</time>
                    </div>
                    <div class="flex--item ws-nowrap mr16 mb8">
                        <span class="fc-light mr2">Modified</span>
                        <a href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE?lastactivity" class="s-link s-link__inherit" title="2018-11-02 18:11:05Z">3 года 4 месяца назад</a>
                    </div>
                    <div class="flex--item ws-nowrap mb8" title="Просмотрен 1,085 раз">
                        <span class="fc-light mr2">Просмотрен</span>
                        1k раз
                    </div>
            </div>
            <div id="mainbar" role="main" aria-label="question and answers">

                
<div class="question" data-questionid="901454" data-position-on-page="0" data-score="-2" id="question">
    <style>
    </style>
<div class="js-zone-container zone-container-main">
    <div id="dfp-tlb" class="everyonelovesstackoverflow everyoneloves__top-leaderboard everyoneloves__leaderboard" data-dfp-zone="true" style="min-height: auto; height: auto; display: none;" data-google-query-id="COKd65Lh5vYCFRnzmgodpyUA0A" data-clc-ready="true"><div id="google_ads_iframe_/248424177/ru.stackoverflow.com/lb/question-pages_0__container__" style="border: 0pt none; width: 728px; height: auto; min-height: auto; display: none;"></div></div>
    <div class="js-report-ad-button-container " style="width: 728px"></div>
</div>

    <div class="post-layout">
        <div class="votecell post-layout--left">
            <div class="js-voting-container d-flex jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="901454">
        <button class="js-vote-up-btn flex--item s-btn s-btn__unset c-pointer " data-controller="s-tooltip" data-s-tooltip-placement="right" aria-pressed="false" aria-label="Up vote" data-selected-classes="fc-theme-primary" data-unselected-classes="" aria-describedby="--stacks-s-tooltip-hisxrjni">
            <svg aria-hidden="true" class="svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 25h32L18 9 2 25Z"></path></svg>
        </button><div id="--stacks-s-tooltip-hisxrjni" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Вопрос отражает стремление разобраться; он понятен и несёт пользу<div class="s-popover--arrow"></div></div>
        <div class="js-vote-count flex--item d-flex fd-column ai-center fc-black-500 fs-title" itemprop="upvoteCount" data-value="-2">
            -2
        </div>
        <button class="js-vote-down-btn flex--item s-btn s-btn__unset c-pointer " data-controller="s-tooltip" data-s-tooltip-placement="right" aria-pressed="false" aria-label="Down vote" data-selected-classes="fc-theme-primary" data-unselected-classes="" aria-describedby="--stacks-s-tooltip-brnzboj6">
            <svg aria-hidden="true" class="svg-icon iconArrowDownLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 11h32L18 27 2 11Z"></path></svg>
        </button><div id="--stacks-s-tooltip-brnzboj6" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Вопрос не отражает стремления разобраться; он непонятен или не несёт пользы<div class="s-popover--arrow"></div></div>

        <button class="js-bookmark-btn s-btn s-btn__unset c-pointer py4 js-gps-track" data-controller="s-tooltip" data-s-tooltip-placement="right" aria-pressed="false" aria-label="Закладка" data-selected-classes="fc-yellow-600" data-gps-track="post.click({ item: 1, priv: 0, post_type: 1 })" aria-describedby="--stacks-s-tooltip-mr6jqe28">
            <svg aria-hidden="true" class="svg-icon iconBookmark" width="18" height="18" viewBox="0 0 18 18"><path d="M6 1a2 2 0 0 0-2 2v14l5-4 5 4V3a2 2 0 0 0-2-2H6Zm3.9 3.83h2.9l-2.35 1.7.9 2.77L9 7.59l-2.35 1.7.9-2.76-2.35-1.7h2.9L9 2.06l.9 2.77Z"></path></svg>
            <div class="js-bookmark-count mt4 d-none" data-value="0">0</div>
        </button><div id="--stacks-s-tooltip-mr6jqe28" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Добавить вопрос в закладки.<div class="s-popover--arrow"></div></div>
    

    
        <a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="https://ru.stackoverflow.com/posts/901454/timeline" data-shortcut="T" data-ks-title="временная шкала" data-controller="s-tooltip" data-s-tooltip-placement="right" aria-label="Временная шкала" aria-describedby="--stacks-s-tooltip-n3hoojl6"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4h3L3 9Zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10V5Z"></path></svg></a><div id="--stacks-s-tooltip-n3hoojl6" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Показать действия над этим сообщением.<div class="s-popover--arrow"></div></div>

</div>

        </div>

        

<div class="postcell post-layout--right">
    
    <div class="s-prose js-post-body" itemprop="text">
                
<p>Скажите, пожалуйста, правильно ли я думаю.<br>
На сколько я понял разреженная матрица - это матрица вроде этой:  </p>

<pre class="lang-cpp s-code-block"><code class="hljs language-cpp"><span class="hljs-number">1</span> <span class="hljs-number">0</span> <span class="hljs-number">0</span> <span class="hljs-number">0</span>
<span class="hljs-number">0</span> <span class="hljs-number">0</span> <span class="hljs-number">1</span> <span class="hljs-number">1</span>
<span class="hljs-number">0</span> <span class="hljs-number">1</span> <span class="hljs-number">0</span> <span class="hljs-number">0</span>
<span class="hljs-number">1</span> <span class="hljs-number">0</span> <span class="hljs-number">0</span> <span class="hljs-number">1</span>
</code></pre>

<p>Если это разреженная матрица - то генерировать ее элементы можно функцией <code>rand()</code> :
<code>rand()%2</code>  </p>

<p>Идентичен ли этот вид матриц квадратным матрицам (ряды=столбцам)? Математические операции (+,-,*,/) проводятся так же?<br>
Спасибо!</p>
    </div>

        <div class="mt24 mb12">
            <div class="post-taglist d-flex gs4 gsy fd-column">
                <div class="d-flex ps-relative fw-wrap">
                    <a href="https://ru.stackoverflow.com/questions/tagged/c%2b%2b" class="post-tag js-gps-track" title="показать вопросы с меткой [c++]" rel="tag">c++</a> <a href="https://ru.stackoverflow.com/questions/tagged/%d0%bc%d0%b0%d1%82%d1%80%d0%b8%d1%86%d1%8b" class="post-tag js-gps-track" title="показать вопросы с меткой [матрицы]" rel="tag">матрицы</a> 
                </div>
            </div>
        </div>

    <div class="mb0 ">
        <div class="mt16 d-flex gs8 gsy fw-wrap jc-end ai-start pt4 mb16">
            <div class="flex--item mr16 fl1 w96">
                


<div class="js-post-menu pt2" data-post-id="901454">
    <div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap">

            <div class="flex--item">
                <a href="https://ru.stackoverflow.com/q/901454" rel="nofollow" itemprop="url" class="js-share-link js-gps-track" title="Короткая постоянная ссылка на этот вопрос" data-gps-track="post.click({ item: 2, priv: 0, post_type: 1 })" data-controller="se-share-sheet s-popover" data-se-share-sheet-title="Поделиться ссылкой на вопрос" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="question" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="1" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start" aria-controls="se-share-sheet-0" data-action=" s-popover#toggle se-share-sheet#preventNavigation s-popover:show-&gt;se-share-sheet#willShow s-popover:shown-&gt;se-share-sheet#didShow">Поделиться</a><div class="s-popover z-dropdown s-anchors s-anchors__default" style="width: unset; max-width: 28em;" id="se-share-sheet-0"><div class="s-popover--arrow"></div><div><span class="js-title fw-bold">Поделиться ссылкой на вопрос</span> <span class="js-subtitle"></span></div><div class="my8"><input type="text" class="js-input s-input wmn3 sm:wmn-initial" readonly=""></div><div class="d-flex jc-space-between ai-center mbn4"><button class="js-copy-link-btn s-btn s-btn__link js-gps-track" data-gps-track="">Скопировать ссылку</button><a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="license" class="js-license s-block-link w-auto" target="_blank" title="Текущая лицензия для этого сообщения: CC BY-SA 4.0">CC BY-SA 4.0</a><div class="js-social-container d-none"></div></div></div>
            </div>


                    <div class="flex--item">
                        <a href="https://ru.stackoverflow.com/posts/901454/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 1 })" title="">Улучшить вопрос</a>
                    </div>

            <div class="flex--item">
                <button type="button" id="btnFollowPost-901454" class="s-btn s-btn__link js-follow-post js-follow-question js-gps-track" data-gps-track="post.click({ item: 14, priv: 0, post_type: 1 })" data-controller="s-tooltip " data-s-tooltip-placement="bottom" data-s-popover-placement="bottom" aria-controls="" aria-describedby="--stacks-s-tooltip-ij8df177">
                    Отслеживать
                </button><div id="--stacks-s-tooltip-ij8df177" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Нажмите «отслеживать», чтобы получать уведомления.<div class="s-popover--arrow"></div></div>
            </div>






    </div>
    <div class="js-menu-popup-container"></div>
</div>
            </div>

                <div class="post-signature flex--item">
<div class="user-info ">
    <div class="user-action-time">
        <a href="https://ru.stackoverflow.com/posts/901454/revisions" title="показать все правки данного сообщения" class="js-gps-track" data-gps-track="post.click({ item: 4, priv: 0, post_type: 1 })">изменён <span title="2018-11-02 15:17:04Z" class="relativetime">2 ноя 2018 в 15:17</span></a>
    </div>
    <div class="user-gravatar32">
        <a href="https://ru.stackoverflow.com/users/221228/anton-shchyrov"><div class="gravatar-wrapper-32"><img src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/a6e027141f345e8a3070c9813d6e74fd" alt="user avatar" width="32" height="32" class="bar-sm"></div></a>
    </div>
    <div class="user-details">
        <a href="https://ru.stackoverflow.com/users/221228/anton-shchyrov">Anton Shchyrov</a>
        <div class="-flair">
            <span class="reputation-score" title="уровень репутации 32,569" dir="ltr">32.6k</span><span title="2 золотых знака" aria-hidden="true"><span class="badge1"></span><span class="badgecount">2</span></span><span class="v-visible-sr">2 золотых знака</span><span title="26 серебряных знаков" aria-hidden="true"><span class="badge2"></span><span class="badgecount">26</span></span><span class="v-visible-sr">26 серебряных знаков</span><span title="56 бронзовых знаков" aria-hidden="true"><span class="badge3"></span><span class="badgecount">56</span></span><span class="v-visible-sr">56 бронзовых знаков</span>
        </div>
    </div>
</div>
                </div>
            <div class="post-signature owner flex--item">
                <div class="user-info ">
    <div class="user-action-time">
        задан <span title="2018-11-02 14:38:48Z" class="relativetime">2 ноя 2018 в 14:38</span>
    </div>
    <div class="user-gravatar32">
        <a href="https://ru.stackoverflow.com/users/292835/boris-makhlin"><div class="gravatar-wrapper-32"><img src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/ba66a895e7e1a94faf04d039d8090faa" alt="user avatar" width="32" height="32" class="bar-sm"></div></a>
    </div>
    <div class="user-details" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
        <a href="https://ru.stackoverflow.com/users/292835/boris-makhlin">Boris Makhlin</a><span class="d-none" itemprop="name">Boris Makhlin</span>
        <div class="-flair">
            <span class="reputation-score" title="уровень репутации " dir="ltr">501</span><span title="3 серебряных знака" aria-hidden="true"><span class="badge2"></span><span class="badgecount">3</span></span><span class="v-visible-sr">3&nbsp;серебряных знака</span><span title="11 бронзовых знаков" aria-hidden="true"><span class="badge3"></span><span class="badgecount">11</span></span><span class="v-visible-sr">11 бронзовых знаков</span>
        </div>
    </div>
</div>


            </div>
        </div>
    </div>
    
</div>




            <span class="d-none" itemprop="commentCount">3</span> 
    <div class="post-layout--right js-post-comments-component">
        <div id="comments-901454" class="comments js-comments-container bt bc-black-075 mt12 " data-post-id="901454" data-min-length="15">
            <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true">

                        <li id="comment-1477899" class="comment js-comment " data-comment-id="1477899" data-comment-owner-id="195342" data-comment-score="3">
        <div class="js-comment-actions comment-actions">
            <div class="comment-score js-comment-edit-hide">
                    <span title="количество голосов «полезный комментарий»" class="cool">3</span>
            </div>
        </div>
        <div class="comment-text  js-comment-text-and-form">
            <div class="comment-body js-comment-edit-hide">
                
                <span class="comment-copy">Разр<b>я</b>женная матрица - это которую давно не заряжали :), а разр<b>е</b>женная - это в которой ненулевых элементов очень немного по отношению к общему количеству, так что для экономии хранятся только они, а не все элементы матрицы...</span>
                
              <div class="d-inline-flex ai-center">
–&nbsp;<a href="https://ru.stackoverflow.com/users/195342/harry-from-kiev" title="188,712 баллов репутации" class="comment-user">Harry from Kiev</a>
                </div>
                <span class="comment-date" dir="ltr"><a class="comment-link" href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#comment1477899_901454"><span title="2018-11-02 14:41:53Z, Лицензия: CC BY-SA 4.0" class="relativetime-clean">2 ноя 2018 в 14:41</span></a></span>
            </div>
        </div>
    </li>
    <li id="comment-1477924" class="comment js-comment " data-comment-id="1477924" data-comment-owner-id="-1" data-comment-score="1">
        <div class="js-comment-actions comment-actions">
            <div class="comment-score js-comment-edit-hide">
                    <span title="количество голосов «полезный комментарий»" class="cool">1</span>
            </div>
        </div>
        <div class="comment-text  js-comment-text-and-form">
            <div class="comment-body js-comment-edit-hide">
                
                <span class="comment-copy">Какие шаги Вы предприняли, чтобы выяснить это самостоятельно?</span>
                
              <div class="d-inline-flex ai-center">
–&nbsp;<span class="comment-user">user176262</span>
                </div>
                <span class="comment-date" dir="ltr"><a class="comment-link" href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#comment1477924_901454"><span title="2018-11-02 15:12:42Z, Лицензия: CC BY-SA 4.0" class="relativetime-clean">2 ноя 2018 в 15:12</span></a></span>
            </div>
        </div>
    </li>
    <li id="comment-1477960" class="comment js-comment " data-comment-id="1477960" data-comment-owner-id="292835" data-comment-score="0">
        <div class="js-comment-actions comment-actions">
            <div class="comment-score js-comment-edit-hide">
            </div>
        </div>
        <div class="comment-text  js-comment-text-and-form">
            <div class="comment-body js-comment-edit-hide">
                
                <span class="comment-copy">@Igor Я читал в Википедии, но сугубо про математическую точку зрения. Более ничего не смог найти. Поэтому и обратился на этот форум</span>
                
              <div class="d-inline-flex ai-center">
–&nbsp;<a href="https://ru.stackoverflow.com/users/292835/boris-makhlin" title="501 балл репутации" class="comment-user owner">Boris Makhlin</a>
                </div>
                <span class="comment-date" dir="ltr"><a class="comment-link" href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#comment1477960_901454"><span title="2018-11-02 15:43:19Z, Лицензия: CC BY-SA 4.0" class="relativetime-clean">2 ноя 2018 в 15:43</span></a></span>
                        <span title="комментарий был изменён 1 раз">
                            <svg aria-hidden="true" class="va-text-bottom o50 svg-icon iconPencilSm" width="14" height="14" viewBox="0 0 14 14"><path d="m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0ZM2 10.12l6.37-6.43 1.88 1.88L3.88 12H2v-1.88Z"></path></svg>
                        </span>
            </div>
        </div>
    </li>

            </ul>
	    </div>

        <div id="comments-link-901454" data-rep="50" data-anon="true">
                    <a class="js-add-link comments-link disabled-link" title="Используйте комментарии для запроса дополнительной информации или предложения улучшений. Избегайте публикации ответа на вопросы в комментариях." href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" role="button">Добавить комментарий</a>
                <span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="разверните, чтобы увидеть все комментарии к сообщению" href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" onclick="" role="button"></a>
        </div>         
    </div>
    </div>

</div>



                <div id="answers">
                    <a name="tab-top"></a>
                    <div id="answers-header">
                        <div class="answers-subheader d-flex ai-center mb8">
                            <div class="flex--item fl1">
                                <h2 class="mb0" data-answercount="1">
                                        1 ответ
                                    <span style="display:none;" itemprop="answerCount">1</span>
                                </h2>
                            </div>
                            <div class="flex--item">
                                

<div class="d-flex g4 gsx ai-center sm:fd-column sm:ai-start">
    <div class="d-flex fd-column ai-end sm:ai-start">
        <label class="flex--item fs-caption" for="answer-sort-dropdown-select-menu">
            Сортировка:
        </label>
        <a class="js-sort-preference-change s-link flex--item fs-fine d-none" data-value="ScoreDesc" href="https://ru.stackoverflow.com/questions/901454/%d0%9e%d0%b1%d1%8a%d1%8f%d1%81%d0%bd%d0%b8%d1%82%d0%b5-%d1%87%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-%d1%80%d0%b0%d0%b7%d1%80%d0%b5%d0%b6%d0%b5%d0%bd%d0%bd%d1%8b%d0%b5-%d0%bc%d0%b0%d1%82%d1%80%d0%b8%d1%86%d1%8b-%d0%ba%d0%b0%d0%ba-%d0%b8%d1%85-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d0%b8-%d0%bc%d0%b0%d1%82%d0%b5%d0%bc%d0%b0%d1%82%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d0%b5-%d0%be?answertab=scoredesc#tab-top">
            Reset to default
        </a>
    </div>
    <div class="flex--item s-select">
        <select id="answer-sort-dropdown-select-menu">
                    <option value="scoredesc" selected="selected">
                        Highest score (default)
                    </option>
                    <option value="modifieddesc">
                        Date modified (newest first)
                    </option>
                    <option value="createdasc">
                        Date created (oldest first)
                    </option>
        </select>
    </div>
</div>

          
                            </div>
                        </div>
                    </div>


                                          
<a name="901530"></a>
<div id="answer-901530" class="answer js-answer accepted-answer" data-answerid="901530" data-score="2" data-position-on-page="1" data-highest-scored="1" data-question-has-accepted-highest-score="1" itemprop="acceptedAnswer" itemscope="" itemtype="https://schema.org/Answer">
    <div class="post-layout">
        <div class="votecell post-layout--left">
            <div class="js-voting-container d-flex jc-center fd-column ai-stretch gs4 fc-black-200" data-post-id="901530">
        <button class="js-vote-up-btn flex--item s-btn s-btn__unset c-pointer " data-controller="s-tooltip" data-s-tooltip-placement="right" aria-pressed="false" aria-label="Up vote" data-selected-classes="fc-theme-primary" data-unselected-classes="" aria-describedby="--stacks-s-tooltip-pz2pjtgi">
            <svg aria-hidden="true" class="svg-icon iconArrowUpLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 25h32L18 9 2 25Z"></path></svg>
        </button><div id="--stacks-s-tooltip-pz2pjtgi" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Ответ полезен<div class="s-popover--arrow"></div></div>
        <div class="js-vote-count flex--item d-flex fd-column ai-center fc-black-500 fs-title" itemprop="upvoteCount" data-value="2">
            2
        </div>
        <button class="js-vote-down-btn flex--item s-btn s-btn__unset c-pointer " data-controller="s-tooltip" data-s-tooltip-placement="right" aria-pressed="false" aria-label="Down vote" data-selected-classes="fc-theme-primary" data-unselected-classes="" aria-describedby="--stacks-s-tooltip-trg1ce3d">
            <svg aria-hidden="true" class="svg-icon iconArrowDownLg" width="36" height="36" viewBox="0 0 36 36"><path d="M2 11h32L18 27 2 11Z"></path></svg>
        </button><div id="--stacks-s-tooltip-trg1ce3d" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Ответ не является полезным<div class="s-popover--arrow"></div></div>

    
            <div class="js-accepted-answer-indicator flex--item fc-green-500 py6 mtn8" data-s-tooltip-placement="right" title="Loading when this answer was accepted…" tabindex="0" role="note" aria-label="Accepted">
                <div class="ta-center">
                    <svg aria-hidden="true" class="svg-icon iconCheckmarkLg" width="36" height="36" viewBox="0 0 36 36"><path d="m6 14 8 8L30 6v8L14 30l-8-8v-8Z"></path></svg>
                </div>
            </div>

    
        <a class="js-post-issue flex--item s-btn s-btn__unset c-pointer py6 mx-auto" href="https://ru.stackoverflow.com/posts/901530/timeline" data-shortcut="T" data-ks-title="временная шкала" data-controller="s-tooltip" data-s-tooltip-placement="right" aria-label="Временная шкала" aria-describedby="--stacks-s-tooltip-utizd5bo"><svg aria-hidden="true" class="mln2 mr0 svg-icon iconHistory" width="19" height="18" viewBox="0 0 19 18"><path d="M3 9a8 8 0 1 1 3.73 6.77L8.2 14.3A6 6 0 1 0 5 9l3.01-.01-4 4-4-4h3L3 9Zm7-4h1.01L11 9.36l3.22 2.1-.6.93L10 10V5Z"></path></svg></a><div id="--stacks-s-tooltip-utizd5bo" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Показать действия над этим сообщением.<div class="s-popover--arrow"></div></div>

</div>

        </div>

        

<div class="answercell post-layout--right">
    
    <div class="s-prose js-post-body" itemprop="text">
<p>Вот представьте, что вам нужно работать с матрицами целых чисел размером 1000х1000. Легко подсчитать, что размер каждой матрицы будет 4Мб, а для перемножения двух матриц потребуется миллиард умножений и почти столько же сложений.</p>

<p>Если же мы знаем, что ненулевых элементов в матрице будет в районе 0.1%, то есть порядка 1000, то представление матрицы и работу с ней можно сильно оптимизировать. Например, можно представить матрицу как простой массив ненулевых элементов, где каждый ненулевой элемент представлен такой структурой:</p>

<pre class="lang-cpp s-code-block"><code class="hljs language-cpp"><span class="hljs-keyword">typedef</span> <span class="hljs-keyword">struct</span> {
  <span class="hljs-type">short</span> row;
  <span class="hljs-type">short</span> column;
  <span class="hljs-type">int</span> value;
} NonZeroElem;
</code></pre>

<p>Тогда матрица вместо миллиона четырехбайтовых целых будет представлена всего лишь тысячью восьмибайтовых описателей. То есть 8кб вместо 4Мб - в пятьсот раз меньше.</p>

<p>Операции с матрицами в таком представлении будут выглядеть гораздо сложнее, но за счет того, что операций будет минимум на три порядка меньше, скорость тоже сильно возрастет.</p>

<p>Разумеется, разреженные матрицы могут быть представлены и другим способом, который для конкретного вида матриц (числа нулей и их распределения) может оказаться выгоднее.</p>
    </div>
    <div class="mt24">
        <div class="d-flex fw-wrap ai-start jc-end gs8 gsy">
            <time itemprop="dateCreated" datetime="2018-11-02T18:11:05"></time>
            <div class="flex--item mr16" style="flex: 1 1 100px;">
                


<div class="js-post-menu pt2" data-post-id="901530">
    <div class="d-flex gs8 s-anchors s-anchors__muted fw-wrap">

            <div class="flex--item">
                <a href="https://ru.stackoverflow.com/a/901530" rel="nofollow" itemprop="url" class="js-share-link js-gps-track" title="Короткая постоянная ссылка на этот ответ" data-gps-track="post.click({ item: 2, priv: 0, post_type: 2 })" data-controller="se-share-sheet s-popover" data-se-share-sheet-title="Поделиться ссылкой на ответ" data-se-share-sheet-subtitle="" data-se-share-sheet-post-type="answer" data-se-share-sheet-social="facebook twitter " data-se-share-sheet-location="2" data-se-share-sheet-license-url="https%3a%2f%2fcreativecommons.org%2flicenses%2fby-sa%2f4.0%2f" data-se-share-sheet-license-name="CC BY-SA 4.0" data-s-popover-placement="bottom-start" aria-controls="se-share-sheet-1" data-action=" s-popover#toggle se-share-sheet#preventNavigation s-popover:show-&gt;se-share-sheet#willShow s-popover:shown-&gt;se-share-sheet#didShow">Поделиться</a><div class="s-popover z-dropdown s-anchors s-anchors__default" style="width: unset; max-width: 28em;" id="se-share-sheet-1"><div class="s-popover--arrow"></div><div><span class="js-title fw-bold">Поделиться ссылкой на ответ</span> <span class="js-subtitle"></span></div><div class="my8"><input type="text" class="js-input s-input wmn3 sm:wmn-initial" readonly=""></div><div class="d-flex jc-space-between ai-center mbn4"><button class="js-copy-link-btn s-btn s-btn__link js-gps-track" data-gps-track="">Скопировать ссылку</button><a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="license" class="js-license s-block-link w-auto" target="_blank" title="Текущая лицензия для этого сообщения: CC BY-SA 4.0">CC BY-SA 4.0</a><div class="js-social-container d-none"></div></div></div>
            </div>


                    <div class="flex--item">
                        <a href="https://ru.stackoverflow.com/posts/901530/edit" class="js-suggest-edit-post js-gps-track" data-gps-track="post.click({ item: 6, priv: 0, post_type: 2 })" title="">Улучшить ответ</a>
                    </div>

            <div class="flex--item">
                <button type="button" id="btnFollowPost-901530" class="s-btn s-btn__link js-follow-post js-follow-answer js-gps-track" data-gps-track="post.click({ item: 14, priv: 0, post_type: 2 })" data-controller="s-tooltip " data-s-tooltip-placement="bottom" data-s-popover-placement="bottom" aria-controls="" aria-describedby="--stacks-s-tooltip-7awmqsh4">
                    Отслеживать
                </button><div id="--stacks-s-tooltip-7awmqsh4" class="s-popover s-popover__tooltip pe-none" aria-hidden="true" role="tooltip">Нажмите «отслеживать», чтобы получать уведомления.<div class="s-popover--arrow"></div></div>
            </div>






    </div>
    <div class="js-menu-popup-container"></div>
</div>
            </div>


            <div class="post-signature flex--item fl0">
                <div class="user-info user-hover">
    <div class="user-action-time">
        ответ дан <span title="2018-11-02 18:11:05Z" class="relativetime">2 ноя 2018 в 18:11</span>
    </div>
    <div class="user-gravatar32">
        <a href="https://ru.stackoverflow.com/users/287068/freim"><div class="gravatar-wrapper-32"><img src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/F1Hyn.jpg" alt="user avatar" width="32" height="32" class="bar-sm"></div></a>
    </div>
    <div class="user-details" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
        <a href="https://ru.stackoverflow.com/users/287068/freim">freim</a><span class="d-none" itemprop="name">freim</span>
        <div class="-flair">
            <span class="reputation-score" title="уровень репутации " dir="ltr">4,834</span><span title="8 золотых знаков" aria-hidden="true"><span class="badge1"></span><span class="badgecount">8</span></span><span class="v-visible-sr">8 золотых знаков</span><span title="14 серебряных знаков" aria-hidden="true"><span class="badge2"></span><span class="badgecount">14</span></span><span class="v-visible-sr">14 серебряных знаков</span><span title="27 бронзовых знаков" aria-hidden="true"><span class="badge3"></span><span class="badgecount">27</span></span><span class="v-visible-sr">27 бронзовых знаков</span>
        </div>
    </div>
</div>


            </div>
        </div>
        
    
    </div>
    
</div>




            <span class="d-none" itemprop="commentCount"></span> 
    <div class="post-layout--right js-post-comments-component">
        <div id="comments-901530" class="comments js-comments-container bt bc-black-075 mt12  dno" data-post-id="901530" data-min-length="15">
            <ul class="comments-list js-comments-list" data-remaining-comments-count="0" data-canpost="false" data-cansee="true" data-comments-unavailable="false" data-addlink-disabled="true">

            </ul>
	    </div>

        <div id="comments-link-901530" data-rep="50" data-anon="true">
                    <a class="js-add-link comments-link disabled-link" title="Используйте комментарии для запроса дополнительной информации или предложения улучшений. Избегайте комментариев в стиле «+1» или «Спасибо»." href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" role="button">Добавить комментарий</a>
                <span class="js-link-separator dno">&nbsp;|&nbsp;</span>
            <a class="js-show-link comments-link dno" title="разверните, чтобы увидеть все комментарии к сообщению" href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" onclick="" role="button"></a>
        </div>         
    </div>
    </div>
</div>

                        <a name="new-answer"></a>
                            <form id="post-form" action="https://ru.stackoverflow.com/questions/901454/answer/submit" method="post" class="js-add-answer-component post-form">
                                <input type="hidden" id="post-id" value="901454">
                                <input type="hidden" id="qualityBanWarningShown" name="qualityBanWarningShown" value="false">
                                <input type="hidden" name="referrer" value="https://yandex.ru/">
                                <h2 class="space">
                                    Ваш ответ
                                </h2>
                                    

    <script>
        StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
                StackExchange.using("snippets", function () {
                    StackExchange.snippets.init();
                });
            });
        }, "code-snippets");
    </script>


<script>
    StackExchange.ready(function() {
        var channelOptions = {
            tags: "".split(" "),
            id: "609"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
                StackExchange.using("snippets", function() {
                    createEditor();
                });
            }
            else {
                createEditor();
            }
        });

        function createEditor() {
            StackExchange.prepareEditor({
                useStacksEditor: false,
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: false,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: null,
                bindNavPrevention: true,
                postfix: "",
                imageUploader: {
                    brandingHtml: "на платформе \u003ca href=\"https://imgur.com/\"\u003e\u003csvg class=\"svg-icon\" width=\"50\" height=\"18\" viewBox=\"0 0 50 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\u003cpath d=\"M46.1709 9.17788C46.1709 8.26454 46.2665 7.94324 47.1084 7.58816C47.4091 7.46349 47.7169 7.36433 48.0099 7.26993C48.9099 6.97997 49.672 6.73443 49.672 5.93063C49.672 5.22043 48.9832 4.61182 48.1414 4.61182C47.4335 4.61182 46.7256 4.91628 46.0943 5.50789C45.7307 4.9328 45.2525 4.66231 44.6595 4.66231C43.6264 4.66231 43.1481 5.28821 43.1481 6.59048V11.9512C43.1481 13.2535 43.6264 13.8962 44.6595 13.8962C45.6924 13.8962 46.1709 13.2535 46.1709 11.9512V9.17788Z\"/\u003e\u003cpath d=\"M32.492 10.1419C32.492 12.6954 34.1182 14.0484 37.0451 14.0484C39.9723 14.0484 41.5985 12.6954 41.5985 10.1419V6.59049C41.5985 5.28821 41.1394 4.66232 40.1061 4.66232C39.0732 4.66232 38.5948 5.28821 38.5948 6.59049V9.60062C38.5948 10.8521 38.2696 11.5455 37.0451 11.5455C35.8209 11.5455 35.4954 10.8521 35.4954 9.60062V6.59049C35.4954 5.28821 35.0173 4.66232 34.0034 4.66232C32.9703 4.66232 32.492 5.28821 32.492 6.59049V10.1419Z\" /\u003e\u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M25.6622 17.6335C27.8049 17.6335 29.3739 16.9402 30.2537 15.6379C30.8468 14.7755 30.9615 13.5579 30.9615 11.9512V6.59049C30.9615 5.28821 30.4833 4.66231 29.4502 4.66231C28.9913 4.66231 28.4555 4.94978 28.1109 5.50789C27.499 4.86533 26.7335 4.56087 25.7005 4.56087C23.1369 4.56087 21.0134 6.57349 21.0134 9.27932C21.0134 11.9852 23.003 13.913 25.3754 13.913C26.5612 13.913 27.4607 13.4902 28.1109 12.6616C28.1109 12.7229 28.1161 12.7799 28.121 12.8346C28.1256 12.8854 28.1301 12.9342 28.1301 12.983C28.1301 14.4373 27.2502 15.2321 25.777 15.2321C24.8349 15.2321 24.1352 14.9821 23.5661 14.7787C23.176 14.6393 22.8472 14.5218 22.5437 14.5218C21.7977 14.5218 21.2429 15.0123 21.2429 15.6887C21.2429 16.7375 22.9072 17.6335 25.6622 17.6335ZM24.1317 9.27932C24.1317 7.94324 24.9928 7.09766 26.1024 7.09766C27.2119 7.09766 28.0918 7.94324 28.0918 9.27932C28.0918 10.6321 27.2311 11.5116 26.1024 11.5116C24.9737 11.5116 24.1317 10.6491 24.1317 9.27932Z\"/\u003e\u003cpath d=\"M16.8045 11.9512C16.8045 13.2535 17.2637 13.8962 18.2965 13.8962C19.3298 13.8962 19.8079 13.2535 19.8079 11.9512V8.12928C19.8079 5.82936 18.4879 4.62866 16.4027 4.62866C15.1594 4.62866 14.279 4.98375 13.3609 5.88013C12.653 5.05154 11.6581 4.62866 10.3573 4.62866C9.34336 4.62866 8.57809 4.89931 7.9466 5.5079C7.58314 4.9328 7.10506 4.66232 6.51203 4.66232C5.47873 4.66232 5.00066 5.28821 5.00066 6.59049V11.9512C5.00066 13.2535 5.47873 13.8962 6.51203 13.8962C7.54479 13.8962 8.0232 13.2535 8.0232 11.9512V8.90741C8.0232 7.58817 8.44431 6.91179 9.53458 6.91179C10.5104 6.91179 10.893 7.58817 10.893 8.94108V11.9512C10.893 13.2535 11.3711 13.8962 12.4044 13.8962C13.4375 13.8962 13.9157 13.2535 13.9157 11.9512V8.90741C13.9157 7.58817 14.3365 6.91179 15.4269 6.91179C16.4027 6.91179 16.8045 7.58817 16.8045 8.94108V11.9512Z\"/\u003e\u003cpath d=\"M3.31675 6.59049C3.31675 5.28821 2.83866 4.66232 1.82471 4.66232C0.791758 4.66232 0.313354 5.28821 0.313354 6.59049V11.9512C0.313354 13.2535 0.791758 13.8962 1.82471 13.8962C2.85798 13.8962 3.31675 13.2535 3.31675 11.9512V6.59049Z\" /\u003e\u003cpath d=\"M1.87209 0.400291C0.843612 0.400291 0 1.1159 0 1.98861C0 2.87869 0.822846 3.57676 1.87209 3.57676C2.90056 3.57676 3.7234 2.87869 3.7234 1.98861C3.7234 1.1159 2.90056 0.400291 1.87209 0.400291Z\" fill=\"#1BB76E\"/\u003e\u003c/svg\u003e\u003c/a\u003e",
                    contentPolicyHtml: "Материалы пользователей предоставляются на условиях лицензии \u003ca href=\"https://stackoverflow.com/help/licensing\"\u003ecc by-sa\u003c/a\u003e \u003ca href=\"https://stackoverflow.com/legal/content-policy\"\u003e(правила для размещаемых материалов)\u003c/a\u003e",
                    allowUrls: true
                },
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true,enableTables:true,enableSnippets:true
            });
                    }
    });
</script>
<div id="post-editor" class="post-editor js-post-editor">


        <div class="ps-relative">
            <div class="wmd-container mb8">
                <div id="wmd-button-bar" class="wmd-button-bar btr-sm"><ul id="wmd-button-row" class="wmd-button-row"><li id="wmd-bold-button" class="wmd-button" style="left: 0px;"><span style="background-position: 0px -20px;"></span></li><li id="wmd-italic-button" class="wmd-button" style="left: 25px;"><span style="background-position: -20px -20px;"></span></li><li id="wmd-spacer1" class="wmd-spacer" style="left: 50px;"><span style="background-position: -40px -20px;"></span></li><li id="wmd-link-button" class="wmd-button" style="left: 75px;"><span style="background-position: -40px -20px;"></span></li><li id="wmd-quote-button" class="wmd-button" style="left: 100px;"><span style="background-position: -60px -20px;"></span></li><li id="wmd-code-button" class="wmd-button" style="left: 125px;"><span style="background-position: -80px -20px;"></span></li><li id="wmd-image-button" class="wmd-button" style="left: 150px;"><span style="background-position: -100px -20px;"></span></li><li id="wmd-spacer2" class="wmd-spacer" style="left: 175px;"><span style="background-position: -120px -20px;"></span></li><li id="wmd-olist-button" class="wmd-button" style="left: 200px;"><span style="background-position: -120px -20px;"></span></li><li id="wmd-ulist-button" class="wmd-button" style="left: 225px;"><span style="background-position: -140px -20px;"></span></li><li id="wmd-heading-button" class="wmd-button" style="left: 250px;"><span style="background-position: -160px -20px;"></span></li><li id="wmd-hr-button" class="wmd-button" style="left: 275px;"><span style="background-position: -180px -20px;"></span></li><li id="wmd-spacer3" class="wmd-spacer" style="left: 300px;"><span style="background-position: -200px -20px;"></span></li><li id="wmd-undo-button" class="wmd-button" style="left: 325px;"><span style="background-position: -200px -20px;"></span></li><li id="wmd-redo-button" class="wmd-button" style="left: 350px;"><span style="background-position: -220px -20px;"></span></li><li class="wmd-spacer wmd-spacer-max"></li></ul></div>
                <div class="js-stacks-validation">
                    <div class="ps-relative">
                        <textarea id="wmd-input" name="post-text" class="wmd-input s-input bar0 js-post-body-field" data-post-type-id="2" cols="92" rows="15" tabindex="101" data-min-length=""></textarea>
                    </div>
                    <div class="s-input-message mt4 d-none js-stacks-validation-message"></div>
                </div>
            </div>
        </div>

    <aside class="d-flex ai-start jc-space-between js-answer-help s-notice s-notice__warning pb0 pr4 pt4 mb8 d-none" role="status" aria-hidden="true">
    <div class="flex--item pt8">
        <p>Спасибо за ваш ответ на Stack Overflow на русском!</p><ul><li>Пожалуйста, убедитесь, что <em>публикуемое сообщение отвечает на поставленный вопрос</em>. Предоставьте как можно больше деталей, расскажите про проведенное исследование!</li></ul><p>Но <em>избегайте</em> …</p><ul><li>Просьб помощи, уточнений или ответов на темы не относящиеся к вопросу.</li><li>Ответов основанных на мнениях; приводите аргументы основанные только на реальном опыте.</li></ul><p>Также, обратите внимание на заметку в справочном центре о том, <a href="https://ru.stackoverflow.com/help/how-to-answer">как писать ответы</a>.</p>
    </div>
    <button class="flex--item js-answer-help-close-btn s-btn s-btn__muted fc-dark">
        <svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9 15 4.41Z"></path></svg>
    </button>
</aside>



    <div>
        <div id="draft-saved" class="fc-success h24" style="display:none;">Черновик сохранён</div>
        <div id="draft-discarded" class="fc-error h24" style="display:none;">Черновик удалён</div>
    </div>


            <div id="wmd-preview" class="s-prose mb16 wmd-preview js-wmd-preview"></div>
            <div></div>

        <div class="edit-block">
            <input id="fkey" name="fkey" type="hidden" value="0a12fd6732c1a1dead1273e33a56a2f1657805bef5c58e5855eb5fa67826278d">
            <input id="author" name="author" type="text">
        </div>

</div>


                                <div class="ps-relative">
                                                <div class="form-item new-post-login p0 my16">
                <div class="d-flex gs16 md:fd-column new-login-form">
                    <div class="d-flex fd-column w50 md:w-auto gsy gs8 jc-space-between new-login-left">
                        <h3 class="flex--item fs-title">Зарегистрируйтесь или <a id="login-link" href="https://ru.stackoverflow.com/users/login?ssrc=question_page&amp;returnurl=https%3a%2f%2fru.stackoverflow.com%2fquestions%2f901454%2f%25d0%259e%25d0%25b1%25d1%258a%25d1%258f%25d1%2581%25d0%25bd%25d0%25b8%25d1%2582%25d0%25b5-%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b7%25d1%2580%25d0%25b5%25d0%25b6%25d0%25b5%25d0%25bd%25d0%25bd%25d1%258b%25d0%25b5-%25d0%25bc%25d0%25b0%25d1%2582%25d1%2580%25d0%25b8%25d1%2586%25d1%258b-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25b8%25d1%2585-%25d0%25b3%25d0%25b5%25d0%25bd%25d0%25b5%25d1%2580%25d0%25b8%25d1%2580%25d0%25be%25d0%25b2%25d0%25b0%25d1%2582%25d1%258c-%25d0%25b8-%25d0%25bc%25d0%25b0%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0%25d1%2582%25d0%25b8%25d1%2587%25d0%25b5%25d1%2581%25d0%25ba%25d0%25b8%25d0%25b5-%25d0%25be%23new-answer">войдите</a></h3>
                        <script>
                            StackExchange.ready(function () {
                                StackExchange.helpers.onClickDraftSave('#login-link');
                            });
                        </script>
                        <div class="flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon google-login" data-ga="[&quot;sign up&quot;,&quot;Sign Up Started - Google&quot;,&quot;New Post&quot;,null,null]">
                            <svg aria-hidden="true" class="native svg-icon iconGoogle" width="18" height="18" viewBox="0 0 18 18"><path d="M16.51 8H8.98v3h4.3c-.18 1-.74 1.48-1.6 2.04v2.01h2.6a7.8 7.8 0 0 0 2.38-5.88c0-.57-.05-.66-.15-1.18Z" fill="#4285F4"></path><path d="M8.98 17c2.16 0 3.97-.72 5.3-1.94l-2.6-2a4.8 4.8 0 0 1-7.18-2.54H1.83v2.07A8 8 0 0 0 8.98 17Z" fill="#34A853"></path><path d="M4.5 10.52a4.8 4.8 0 0 1 0-3.04V5.41H1.83a8 8 0 0 0 0 7.18l2.67-2.07Z" fill="#FBBC05"></path><path d="M8.98 4.18c1.17 0 2.23.4 3.06 1.2l2.3-2.3A8 8 0 0 0 1.83 5.4L4.5 7.49a4.77 4.77 0 0 1 4.48-3.3Z" fill="#EA4335"></path></svg> Регистрация через Google
                        </div>
                        <div class="flex--item s-btn s-btn__muted s-btn__icon facebook-login" data-ga="[&quot;sign up&quot;,&quot;Sign Up Started - Facebook&quot;,&quot;New Post&quot;,null,null]">
                            <svg aria-hidden="true" class="svg-icon iconFacebook" width="18" height="18" viewBox="0 0 18 18"><path d="M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2H3Zm6.55 16v-6.2H7.46V8.4h2.09V6.61c0-2.07 1.26-3.2 3.1-3.2.88 0 1.64.07 1.87.1v2.16h-1.29c-1 0-1.19.48-1.19 1.18V8.4h2.39l-.31 2.42h-2.08V17h-2.5Z" fill="#4167B2"></path></svg> Регистрация через Facebook
                        </div>
                        <div class="flex--item s-btn s-btn__muted s-btn__outlined s-btn__icon stackexchange-login" data-ga="[&quot;sign up&quot;,&quot;Sign Up Navigation&quot;,&quot;New Post&quot;,null,null]">
                            <svg aria-hidden="true" class="native svg-icon iconLogoGlyphXSm" width="18" height="18" viewBox="0 0 18 18"><path d="M14 16v-5h2v7H2v-7h2v5h10Z" fill="#BCBBBB"></path><path d="m12.09.72-1.21.9 4.5 6.07 1.22-.9L12.09.71ZM5 15h8v-2H5v2Zm9.15-5.87L8.35 4.3l.96-1.16 5.8 4.83-.96 1.16Zm-7.7-1.47 6.85 3.19.63-1.37-6.85-3.2-.63 1.38Zm6.53 5L5.4 11.39l.38-1.67 7.42 1.48-.22 1.46Z" fill="#F48024"></path></svg> Регистрация через почту
                        </div>
                    </div>
                    <input type="hidden" name="use-facebook" class="use-facebook" value="false">
                    <input type="hidden" name="use-google" class="use-google" value="false">
                    <button type="button" class="d-none js-submit-openid">Submit</button>
                    <div class="d-flex gsy gs8 fd-column w50 md:w-auto new-login-right form-item p0">
                                <h3 class="flex--item fs-title">Отправить без регистрации</h3>
            <div class="flex--item">
                <div class="d-flex gs4 gsy fd-column">
                    <label class="s-label" for="display-name">Имя</label>
                    <div class="d-flex ps-relative">
                        <input class="s-input" id="display-name" name="display-name" maxlength="30" type="text" value="" tabindex="105" placeholder="">
                    </div>
                </div>
            </div>
            <div class="flex--item">
                <div class="d-flex gs4 gsy fd-column">
                    <div class="flex--item">
                        <div class="d-flex gs2 gsy fd-column">
                            <label class="flex--item s-label" for="m-address">Почта</label>
                            <p class="flex--item s-description">Необходима, но никому не показывается</p>
                        </div>
                    </div>
                    <div class="d-flex ps-relative">
                        <input class="s-input js-post-email-field" id="m-address" name="m-address" type="text" value="" size="40" tabindex="106" placeholder="">
                    </div>
                </div>
            </div>

                    </div>
                </div>
            </div>
            <script>
                StackExchange.ready(
                    function () {
                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fru.stackoverflow.com%2fquestions%2f901454%2f%25d0%259e%25d0%25b1%25d1%258a%25d1%258f%25d1%2581%25d0%25bd%25d0%25b8%25d1%2582%25d0%25b5-%25d1%2587%25d1%2582%25d0%25be-%25d1%2582%25d0%25b0%25d0%25ba%25d0%25be%25d0%25b5-%25d1%2580%25d0%25b0%25d0%25b7%25d1%2580%25d0%25b5%25d0%25b6%25d0%25b5%25d0%25bd%25d0%25bd%25d1%258b%25d0%25b5-%25d0%25bc%25d0%25b0%25d1%2582%25d1%2580%25d0%25b8%25d1%2586%25d1%258b-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25b8%25d1%2585-%25d0%25b3%25d0%25b5%25d0%25bd%25d0%25b5%25d1%2580%25d0%25b8%25d1%2580%25d0%25be%25d0%25b2%25d0%25b0%25d1%2582%25d1%258c-%25d0%25b8-%25d0%25bc%25d0%25b0%25d1%2582%25d0%25b5%25d0%25bc%25d0%25b0%25d1%2582%25d0%25b8%25d1%2587%25d0%25b5%25d1%2581%25d0%25ba%25d0%25b8%25d0%25b5-%25d0%25be%23new-answer', 'question_page');
                    }
                );
            </script>
            <noscript>
                        <h3 class="flex--item fs-title">&#x41E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x431;&#x435;&#x437; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438;</h3>
            <div class="flex--item">
                <div class="d-flex gs4 gsy fd-column">
                    <label class="s-label" for="display-name">&#x418;&#x43C;&#x44F;</label>
                    <div class="d-flex ps-relative">
                        <input class="s-input" id="display-name" name="display-name" maxlength="30" type="text" value="" tabindex="105" placeholder="" />
                    </div>
                </div>
            </div>
            <div class="flex--item">
                <div class="d-flex gs4 gsy fd-column">
                    <div class="flex--item">
                        <div class="d-flex gs2 gsy fd-column">
                            <label class="flex--item s-label" for="m-address">&#x41F;&#x43E;&#x447;&#x442;&#x430;</label>
                            <p class="flex--item s-description">&#x41D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x430;, &#x43D;&#x43E; &#x43D;&#x438;&#x43A;&#x43E;&#x43C;&#x443; &#x43D;&#x435; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F;</p>
                        </div>
                    </div>
                    <div class="d-flex ps-relative">
                        <input class="s-input js-post-email-field" id="m-address" name="m-address" type="text" value="" size="40" tabindex="106" placeholder="" />
                    </div>
                </div>
            </div>

            </noscript>

                                </div>

                                    <div class="form-submit cbt d-flex gsx gs4">
                                        <button id="submit-button" class="flex--item s-btn s-btn__primary s-btn__icon" type="submit" tabindex="120" autocomplete="off">
Отправить ответ                                        </button>
                                        <button class="flex--item s-btn s-btn__danger discard-answer dno">
                                            Отменить
                                        </button>
                                            <p class="privacy-policy-agreement">
                                                Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими <a href="https://stackoverflow.com/legal/terms-of-service/public" name="tos" target="_blank" class="-link">пользовательским соглашением</a>, <a href="https://stackoverflow.com/legal/privacy-policy" name="privacy" target="_blank" class="-link">политикой конфиденциальности</a> и <a href="https://stackoverflow.com/legal/cookie-policy" name="cookie" target="_blank" class="-link">политикой о куки</a><input type="hidden" name="legalLinksShown" value="1">
                                            </p>
                                    </div>
                                    <div class="js-general-error general-error cbt d-none"></div>
                            </form>


                            <h2 class="bottom-notice" data-loc="1">
Всё ещё ищете ответ? Посмотрите другие вопросы с метками <a href="https://ru.stackoverflow.com/questions/tagged/c%2b%2b" class="post-tag" title="показать вопросы с меткой [c++]" rel="tag">c++</a> <a href="https://ru.stackoverflow.com/questions/tagged/%d0%bc%d0%b0%d1%82%d1%80%d0%b8%d1%86%d1%8b" class="post-tag" title="показать вопросы с меткой [матрицы]" rel="tag">матрицы</a>  или <a href="https://ru.stackoverflow.com/questions/ask">задайте свой вопрос</a>.                            </h2>
                </div>
            </div>
            <div id="sidebar" class="show-votes" role="complementary" aria-label="боковая панель">
                    

                
<div class="s-sidebarwidget s-sidebarwidget__yellow s-anchors s-anchors__grayscale mb16" data-tracker="cb=1">
    <ul class="d-block p0 m0">
                    <div class="s-sidebarwidget--header s-sidebarwidget__small-bold-text fc-light d:fc-black-900 bb bbw1">
                        Важное на Мете
                    </div>
        <li class="s-sidebarwidget--item d-flex px16">
            <div class="flex--item1 fl-shrink0">
<div class="favicon favicon-stackexchangemeta" title="Meta Stack Exchange"></div>            </div>
            <div class="flex--item wmn0 ow-break-word">
                <a href="https://meta.stackexchange.com/questions/376743/stack-exchange-qa-access-will-not-be-restricted-in-russia?cb=1" class="js-gps-track" data-ga="[&quot;community bulletin board&quot;,&quot;Важное на Мете&quot;,&quot;https://meta.stackexchange.com/questions/376743/stack-exchange-qa-access-will-not-be-restricted-in-russia&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 3, position: 0 })">Stack Exchange Q&amp;A access will not be restricted in Russia</a>
            </div>
        </li>
        <li class="s-sidebarwidget--item d-flex px16">
            <div class="flex--item1 fl-shrink0">
<div class="favicon favicon-rumeta" title="Stack Overflow на русском Meta"></div>            </div>
            <div class="flex--item wmn0 ow-break-word">
                <a href="https://ru.meta.stackoverflow.com/questions/11908/%d0%9d%d0%b0%d1%88%d0%b8-%d1%81%d0%b5%d1%80%d0%b4%d1%86%d0%b0-%d1%81-%d0%bd%d0%b0%d1%80%d0%be%d0%b4%d0%be%d0%bc-%d0%a3%d0%ba%d1%80%d0%b0%d0%b8%d0%bd%d1%8b?cb=1" class="js-gps-track" data-ga="[&quot;community bulletin board&quot;,&quot;Важное на Мете&quot;,&quot;https://ru.meta.stackoverflow.com/questions/11908/%d0%9d%d0%b0%d1%88%d0%b8-%d1%81%d0%b5%d1%80%d0%b4%d1%86%d0%b0-%d1%81-%d0%bd%d0%b0%d1%80%d0%be%d0%b4%d0%be%d0%bc-%d0%a3%d0%ba%d1%80%d0%b0%d0%b8%d0%bd%d1%8b&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 6, position: 1 })">Наши сердца с народом Украины!</a>
            </div>
        </li>
    </ul>
</div>


<div class="js-zone-container zone-container-sidebar">
    <div id="dfp-tsb" class="everyonelovesstackoverflow everyoneloves__top-sidebar" data-dfp-zone="true" style="min-height: auto; height: auto; display: none;" data-google-query-id="CISa65Lh5vYCFYOAmwod1HQPlg" data-clc-ready="true"><div id="google_ads_iframe_/248424177/ru.stackoverflow.com/sb/question-pages_0__container__" style="border: 0pt none; width: 300px; height: auto; min-height: auto; display: none;"></div></div>
    <div class="js-report-ad-button-container " style="width: 300px"></div>
</div>
                    

                    <div class="module sidebar-related">
                        <h4 id="h-related">Похожие</h4>
                        <div class="related js-gps-related-questions" data-tracker="rq=1">
                                <div class="spacer js-gps-track">
                                    <a href="https://ru.stackoverflow.com/q/387941?rq=1" title="Question score (upvotes - downvotes)">
                                        <div class="answer-votes default">0</div>
                                    </a>
                                    <a href="https://ru.stackoverflow.com/questions/387941/%d0%a7%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-%d0%bc%d0%b0%d1%82%d1%80%d0%b8%d1%86%d0%b0-%d1%82%d1%80%d0%b0%d0%bd%d1%81%d0%bb%d1%8f%d1%86%d0%b8%d0%b8-%d0%b8-%d0%ba%d0%b0%d0%ba-%d0%b5%d0%b9-%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c%d1%81%d1%8f-%d0%b2-opengl-es-2-0?rq=1" class="question-hyperlink">Что такое матрица трансляции и как ей пользоваться в OpenGL ES 2.0?</a>
                                </div>
                                <div class="spacer js-gps-track">
                                    <a href="https://ru.stackoverflow.com/q/486831?rq=1" title="Question score (upvotes - downvotes)">
                                        <div class="answer-votes answered-accepted default">2</div>
                                    </a>
                                    <a href="https://ru.stackoverflow.com/questions/486831/%d0%a7%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-template-%d0%ba%d0%b0%d0%ba-%d0%b8-%d0%b7%d0%b0%d1%87%d0%b5%d0%bc?rq=1" class="question-hyperlink">Что такое template, как и зачем?</a>
                                </div>
                                <div class="spacer js-gps-track">
                                    <a href="https://ru.stackoverflow.com/q/797788?rq=1" title="Question score (upvotes - downvotes)">
                                        <div class="answer-votes answered-accepted default">0</div>
                                    </a>
                                    <a href="https://ru.stackoverflow.com/questions/797788/c-%d0%9c%d0%bd%d0%be%d0%b6%d0%b5%d1%81%d1%82%d0%b2%d0%b0-%d0%9d%d0%b5-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%81%d1%82%d0%b8-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%b8-%d0%bd%d0%b0%d0%b4-%d0%bd%d0%b8%d0%bc%d0%b8?rq=1" class="question-hyperlink">c++ Множества.Не получается провести операции над ними</a>
                                </div>
                                <div class="spacer js-gps-track">
                                    <a href="https://ru.stackoverflow.com/q/1156630?rq=1" title="Question score (upvotes - downvotes)">
                                        <div class="answer-votes answered-accepted default">1</div>
                                    </a>
                                    <a href="https://ru.stackoverflow.com/questions/1156630/parameter-pack-rvalue-reference-%d1%87%d1%82%d0%be-%d1%8d%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5-%d0%ba%d0%b0%d0%ba-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82-%d0%b8-%d0%b3%d0%b4%d0%b5-%d0%be%d0%b1-%d1%8d%d1%82%d0%be%d0%bc-%d0%bf%d0%be%d1%87?rq=1" class="question-hyperlink">Parameter Pack + Rvalue Reference: что это такое, как работает и где об этом почитать?</a>
                                </div>
                                <div class="spacer js-gps-track">
                                    <a href="https://ru.stackoverflow.com/q/1349480?rq=1" title="Question score (upvotes - downvotes)">
                                        <div class="answer-votes answered-accepted default">0</div>
                                    </a>
                                    <a href="https://ru.stackoverflow.com/questions/1349480/%d0%9a%d0%b0%d0%ba-%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d0%bb%d1%8c%d0%bd%d0%be-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-%d0%be%d0%bf%d0%b5%d1%80%d0%b0%d1%86%d0%b8%d0%b8-%d1%87%d1%82%d0%be-%d0%ba%d0%be%d0%bc%d0%bf%d0%b8%d0%bb%d1%8f%d1%82%d0%be%d1%80-%d0%bd%d0%b5-%d1%83%d1%85%d0%be%d0%b4%d0%b8%d0%bb-%d0%b2-warning?rq=1" class="question-hyperlink">Как правильно определить операции, что компилятор не уходил в warning?</a>
                                </div>
                        </div>
                    </div>

                

                            <div id="feed-link" class="js-feed-link">
        <a href="https://ru.stackoverflow.com/feeds/question/901454" title="Лента этого вопроса и его ответов">
            <svg aria-hidden="true" class="fc-orange-400 svg-icon iconRss" width="18" height="18" viewBox="0 0 18 18"><path d="M1 3c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v12c0 1.09-.91 2-2 2H3c-1.09 0-2-.91-2-2V3Zm14.5 12C15.5 8.1 9.9 2.5 3 2.5V5a10 10 0 0 1 10 10h2.5Zm-5 0A7.5 7.5 0 0 0 3 7.5V10a5 5 0 0 1 5 5h2.5Zm-5 0A2.5 2.5 0 0 0 3 12.5V15h2.5Z"></path></svg>
            Лента вопроса
        </a>
    </div>
    <aside class="s-modal js-feed-link-modal" tabindex="-1" role="dialog" aria-labelledby="feed-modal-title" aria-describedby="feed-modal-description" aria-hidden="true">
        <div class="s-modal--dialog js-modal-dialog wmx4" role="document" data-controller="se-draggable">
            <h1 class="s-modal--header fw-bold js-first-tabbable c-move" id="feed-modal-title" data-se-draggable-target="handle" tabindex="0">
                Подписаться на ленту
            </h1>
            <div class="d-flex gs4 gsy fd-column">
                <div class="flex--item">
                    <label class="d-block s-label c-default" for="feed-url">
                        Лента вопроса
                        <p class="s-description mt2" id="feed-modal-description">Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.</p>
                    </label>
                </div>
                <div class="d-flex ps-relative">
                    <input class="s-input" type="text" name="feed-url" id="feed-url" readonly="readonly" value="https://ru.stackoverflow.com/feeds/question/901454">
                    <svg aria-hidden="true" class="s-input-icon fc-orange-400 svg-icon iconRss" width="18" height="18" viewBox="0 0 18 18"><path d="M1 3c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v12c0 1.09-.91 2-2 2H3c-1.09 0-2-.91-2-2V3Zm14.5 12C15.5 8.1 9.9 2.5 3 2.5V5a10 10 0 0 1 10 10h2.5Zm-5 0A7.5 7.5 0 0 0 3 7.5V10a5 5 0 0 1 5 5h2.5Zm-5 0A2.5 2.5 0 0 0 3 12.5V15h2.5Z"></path></svg>
                </div>
            </div>
            <a class="s-modal--close s-btn s-btn__muted js-modal-close js-last-tabbable" href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" aria-label="Закрыть">
                <svg aria-hidden="true" class="svg-icon iconClearSm" width="14" height="14" viewBox="0 0 14 14"><path d="M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7 12 3.41Z"></path></svg>
            </a>
        </div>
    </aside>

            </div>
    </div>
<script>StackExchange.ready(function(){$.get('/posts/901454/ivc/b921');});</script>
<noscript><div><img src="/posts/901454/ivc/b921" class="dno" alt="" width="0" height="0"></div></noscript><div style="display:none" id="js-codeblock-lang">lang-cpp</div></div>


        </div>
    </div>

        
<script>;(()=>{function k(t){var a=e[t];if(void 0!==a)return a.exports;var s=e[t]={exports:{}};return n[t].call(s.exports,s,s.exports,k),s.exports}var n={291:function(Kt,e){var t;!function(e,t){"use strict";"object"==typeof Kt.exports?Kt.exports=e.document?t(e,!0):function(n){if(!n.document)throw new Error("jQuery requires a window with a document");return t(n)}:t(e)}("undefined"==typeof window?this:window,function(Zt,n){"use strict";function i(a,e,t){var n,s,i=(t=t||y).createElement("script");if(i.text=a,e)for(n in h)(s=e[n]||e.getAttribute&&e.getAttribute(n))&&i.setAttribute(n,s);t.head.appendChild(i).parentNode.removeChild(i)}function w(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?c[u.call(t)]||"object":typeof t}function T(a){var o=!!a&&"length"in a&&a.length,s=w(a);return!dn(a)&&!v(a)&&("array"===s||0===o||"number"==typeof o&&0<o&&o-1 in a)}function S(n,e){return n.nodeName&&n.nodeName.toLowerCase()===e.toLowerCase()}function r(o,s,i){return dn(s)?ln.grep(o,function(t,e){return!!s.call(t,e,t)!==i}):s.nodeType?ln.grep(o,function(t){return t===s!==i}):"string"==typeof s?ln.filter(s,o,i):ln.grep(o,function(t){return-1<a.call(s,t)!==i})}function D(n,e){for(;(n=n[e])&&1!==n.nodeType;);return n}function q(t){return t}function I(t){throw t}function _(a,e,t,n){var o;try{a&&dn(o=a.promise)?o.call(a).done(e).fail(t):a&&dn(o=a.then)?o.call(a,e,t):e.apply(void 0,[a].slice(n))}catch(n){t.apply(void 0,[n])}}function W(){y.removeEventListener("DOMContentLoaded",W),Zt.removeEventListener("load",W),ln.ready()}function F(n,e){return e.toUpperCase()}function z(t){return t.replace(R,"ms-").replace(X,F)}function Y(){this.expando=ln.expando+Y.uid++}function G(a,e,t){var n;if(void 0===t&&1===a.nodeType)if(n="data-"+e.replace(K,"-$&").toLowerCase(),"string"==typeof(t=a.getAttribute(n))){try{t=function(t){return"true"===t||"false"!==t&&("null"===t?null:t===+t+""?+t:Q.test(t)?JSON.parse(t):t)}(t)}catch(t){}V.set(a,e,t)}else t=void 0;return t}function J(d,e,t,n){var r,i,o=20,a=n?function(){return n.cur()}:function(){return ln.css(d,e,"")},s=a(),p=t&&t[3]||(ln.cssNumber[e]?"":"px"),l=d.nodeType&&(ln.cssNumber[e]||"px"!==p&&+s)&&ee.exec(ln.css(d,e));if(l&&l[3]!==p){for(s/=2,p=p||l[3],l=+s||1;o--;)ln.style(d,e,l+p),0>=(1-i)*(1-(i=a()/s||.5))&&(o=0),l/=i;l*=2,ln.style(d,e,l+p),t=t||[]}return t&&(l=+l||+s||0,r=t[1]?l+(t[1]+1)*t[2]:+t[2],n&&(n.unit=p,n.start=l,n.end=r)),r}function ne(a){var e,t=a.ownerDocument,n=a.nodeName,o=re[n];return o||(e=t.body.appendChild(t.createElement(n)),o=ln.css(e,"display"),e.parentNode.removeChild(e),"none"===o&&(o="block"),re[n]=o,o)}function de(s,e){for(var t,n,r=[],i=0,o=s.length;i<o;i++)(n=s[i]).style&&(t=n.style.display,e?("none"===t&&(r[i]=U.get(n,"display")||null,r[i]||(n.style.display="")),""===n.style.display&&ie(n)&&(r[i]=ne(n))):"none"!==t&&(r[i]="none",U.set(n,"display",t)));for(i=0;i<o;i++)null!=r[i]&&(s[i].style.display=r[i]);return s}function pe(a,e){var t;return t=void 0===a.getElementsByTagName?void 0===a.querySelectorAll?[]:a.querySelectorAll(e||"*"):a.getElementsByTagName(e||"*"),void 0===e||e&&S(a,e)?ln.merge([a],t):t}function ce(a,e){for(var o=0,n=a.length;o<n;o++)U.set(a[o],"globalEval",!e||U.get(e[o],"globalEval"))}function xe(g,e,t,n,r){for(var i,o,a,s,u,l,c=e.createDocumentFragment(),f=[],d=0,p=g.length;d<p;d++)if((i=g[d])||0===i)if("object"===w(i))ln.merge(f,i.nodeType?[i]:i);else if(ye.test(i)){for(o=o||c.appendChild(e.createElement("div")),a=(ge.exec(i)||["",""])[1].toLowerCase(),s=me[a]||me._default,o.innerHTML=s[1]+ln.htmlPrefilter(i)+s[2],l=s[0];l--;)o=o.lastChild;ln.merge(f,o.childNodes),(o=c.firstChild).textContent=""}else f.push(e.createTextNode(i));for(c.textContent="",d=0;i=f[d++];)if(n&&-1<ln.inArray(i,n))r&&r.push(i);else if(u=ae(i),o=pe(c.appendChild(i),"script"),u&&ce(o),t)for(l=0;i=o[l++];)fe.test(i.type||"")&&t.push(i);return c}function Ce(){return!0}function we(){return!1}function Se(n,e){return n===function(){try{return y.activeElement}catch(t){}}()==("focus"===e)}function ke(d,e,l,p,r,c){var o,a;if("object"==typeof e){for(a in"string"!=typeof l&&(p=p||l,l=void 0),e)ke(d,a,l,p,e[a],c);return d}if(null==p&&null==r?(r=l,p=l=void 0):null==r&&("string"==typeof l?(r=p,p=void 0):(r=p,p=l,l=void 0)),!1===r)r=we;else if(!r)return d;return 1===c&&(o=r,r=function(t){return ln().off(t),o.apply(this,arguments)},r.guid=o.guid||(o.guid=ln.guid++)),d.each(function(){ln.event.add(this,e,r,p,l)})}function je(a,s,t){t?(U.set(a,s,!1),ln.event.add(a,s,{namespace:!1,handler:function(n){var e,a,i=U.get(this,s);if(!(1&n.isTrigger&&this[s]))i.length&&(U.set(this,s,{value:ln.event.trigger(ln.extend(i[0],ln.Event.prototype),i.slice(1),this)}),n.stopImmediatePropagation());else if(i.length)(ln.event.special[s]||{}).delegateType&&n.stopPropagation();else if(i=an.call(arguments),U.set(this,s,i),e=t(this,s),this[s](),i!==(a=U.get(this,s))||e?U.set(this,s,!1):a={},i!==a)return n.stopImmediatePropagation(),n.preventDefault(),a&&a.value}})):void 0===U.get(a,s)&&ln.event.add(a,s,Ce)}function Ne(n,e){return S(n,"table")&&S(11===e.nodeType?e.firstChild:e,"tr")&&ln(n).children("tbody")[0]||n}function He(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function Oe(t){return"true/"===(t.type||"").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute("type"),t}function Pe(d,e){var t,n,r,i,o,a;if(1===e.nodeType){if(U.hasData(d)&&(a=U.get(d).events))for(r in U.remove(e,"handle events"),a)for(t=0,n=a[r].length;t<n;t++)ln.event.add(e,r,a[r][t]);V.hasData(d)&&(i=V.access(d),o=ln.extend({},i),V.set(e,o))}}function Re(a,e){var t=e.nodeName.toLowerCase();"input"===t&&he.test(a.type)?e.checked=a.checked:"input"!==t&&"textarea"!==t||(e.defaultValue=a.defaultValue)}function Ie(p,e,t,n){e=on(e);var r,u,o,a,s,l,c=0,f=p.length,d=e[0],m=dn(d);if(m||1<f&&"string"==typeof d&&!rn.checkClone&&Te.test(d))return p.each(function(a){var s=p.eq(a);m&&(e[0]=d.call(this,a,s.html())),Ie(s,e,t,n)});if(f&&(u=(r=xe(e,p[0].ownerDocument,!1,p,n)).firstChild,1===r.childNodes.length&&(r=u),u||n)){for(a=(o=ln.map(pe(r,"script"),He)).length;c<f;c++)s=r,c!=f-1&&(s=ln.clone(s,!0,!0),a&&ln.merge(o,pe(s,"script"))),t.call(p[c],s,c);if(a)for(l=o[o.length-1].ownerDocument,ln.map(o,Oe),c=0;c<a;c++)s=o[c],fe.test(s.type||"")&&!U.access(s,"globalEval")&&ln.contains(l,s)&&(s.src&&"module"!==(s.type||"").toLowerCase()?ln._evalUrl&&!s.noModule&&ln._evalUrl(s.src,{nonce:s.nonce||s.getAttribute("nonce")},l):i(s.textContent.replace(Ee,""),s,l))}return p}function Me(a,e,t){for(var n,s=e?ln.filter(e,a):a,i=0;null!=(n=s[i]);i++)t||1!==n.nodeType||ln.cleanData(pe(n)),n.parentNode&&(t&&ae(n)&&ce(pe(n,"script")),n.parentNode.removeChild(n));return a}function _e(d,e,t){var n,r,i,o,a=d.style;return(t=t||Le(d))&&(""!==(o=t.getPropertyValue(e)||t[e])||ae(d)||(o=ln.style(d,e)),!rn.pixelBoxStyles()&&De.test(o)&&Be.test(e)&&(n=a.width,r=a.minWidth,i=a.maxWidth,a.minWidth=a.maxWidth=a.width=o,o=t.width,a.width=n,a.minWidth=r,a.maxWidth=i)),void 0===o?o:o+""}function ze(n,e){return{get:function(){return n()?void delete this.get:(this.get=e).apply(this,arguments)}}}function Ue(t){return ln.cssProps[t]||Xe[t]||(t in Fe?t:Xe[t]=function(a){for(var e=a[0].toUpperCase()+a.slice(1),t=We.length;t--;)if((a=We[t]+e)in Fe)return a}(t)||t)}function Ye(a,e,t){var n=ee.exec(e);return n?tn(0,n[2]-(t||0))+(n[3]||"px"):e}function et(d,e,t,n,l,i){var o="width"===e?1:0,a=0,s=0;if(t===(n?"border":"content"))return 0;for(;4>o;o+=2)"margin"===t&&(s+=ln.css(d,t+te[o],!0,l)),n?("content"===t&&(s-=ln.css(d,"padding"+te[o],!0,l)),"margin"!==t&&(s-=ln.css(d,"border"+te[o]+"Width",!0,l))):(s+=ln.css(d,"padding"+te[o],!0,l),"padding"===t?a+=ln.css(d,"border"+te[o]+"Width",!0,l):s+=ln.css(d,"border"+te[o]+"Width",!0,l));return!n&&0<=i&&(s+=tn(0,$t(d["offset"+e[0].toUpperCase()+e.slice(1)]-i-s-a-.5))||0),s}function tt(d,e,t){var l=Le(d),r=(!rn.boxSizingReliable()||t)&&"border-box"===ln.css(d,"boxSizing",!1,l),i=r,o=_e(d,e,l),a="offset"+e[0].toUpperCase()+e.slice(1);if(De.test(o)){if(!t)return o;o="auto"}return(!rn.boxSizingReliable()&&r||!rn.reliableTrDimensions()&&S(d,"tr")||"auto"===o||!parseFloat(o)&&"inline"===ln.css(d,"display",!1,l))&&d.getClientRects().length&&(r="border-box"===ln.css(d,"boxSizing",!1,l),(i=a in d)&&(o=d[a])),(o=parseFloat(o)||0)+et(d,e,t||(r?"border":"content"),i,l,o)+"px"}function nt(a,e,t,n,o){return new nt.prototype.init(a,e,t,n,o)}function en(){Je&&(!1===y.hidden&&Zt.requestAnimationFrame?Zt.requestAnimationFrame(en):Zt.setTimeout(en,ln.fx.interval),ln.fx.tick())}function ut(){return Zt.setTimeout(function(){Ke=void 0}),Ke=Date.now()}function lt(a,o){var t,n=0,s={height:a};for(o=o?1:0;4>n;n+=2-o)s["margin"+(t=te[n])]=s["padding"+t]=a;return o&&(s.opacity=s.width=a),s}function ct(s,e,t){for(var n,r=(ft.tweeners[e]||[]).concat(ft.tweeners["*"]),i=0,o=r.length;i<o;i++)if(n=r[i].call(t,e,s))return n}function ft(d,p,h){var g,f,i=0,o=ft.prefilters.length,m=ln.Deferred().always(function(){delete a.elem}),a=function(){if(f)return!1;for(var e=Ke||ut(),t=tn(0,s.startTime+s.duration-e),n=1-(t/s.duration||0),i=0,o=s.tweens.length;i<o;i++)s.tweens[i].run(n);return m.notifyWith(d,[s,n,t]),1>n&&o?t:(o||m.notifyWith(d,[s,1,0]),m.resolveWith(d,[s]),!1)},s=m.promise({elem:d,props:ln.extend({},p),opts:ln.extend(!0,{specialEasing:{},easing:ln.easing._default},h),originalProperties:p,originalOptions:h,startTime:Ke||ut(),duration:h.duration,tweens:[],createTween:function(e,t){var n=ln.Tween(d,s.opts,e,t,s.opts.specialEasing[e]||s.opts.easing);return s.tweens.push(n),n},stop:function(e){var t=0,n=e?s.tweens.length:0;if(f)return this;for(f=!0;t<n;t++)s.tweens[t].run(1);return e?(m.notifyWith(d,[s,1,0]),m.resolveWith(d,[s,e])):m.rejectWith(d,[s,e]),this}}),r=s.props;for(function(s,e){var t,n,r,i,o;for(t in s)if(r=e[n=z(t)],i=s[t],Array.isArray(i)&&(r=i[1],i=s[t]=i[0]),t!==n&&(s[n]=i,delete s[t]),(o=ln.cssHooks[n])&&("expand"in o))for(t in i=o.expand(i),delete s[n],i)(t in s)||(s[t]=i[t],e[t]=r);else e[n]=r}(r,s.opts.specialEasing);i<o;i++)if(g=ft.prefilters[i].call(s,d,r,s.opts))return dn(g.stop)&&(ln._queueHooks(s.elem,s.opts.queue).stop=g.stop.bind(g)),g;return ln.map(r,ct,s),dn(s.opts.start)&&s.opts.start.call(d,s),s.progress(s.opts.progress).done(s.opts.done,s.opts.complete).fail(s.opts.fail).always(s.opts.always),ln.fx.timer(ln.extend(a,{elem:d,anim:s,queue:s.opts.queue})),s}function dt(t){return(t.match(P)||[]).join(" ")}function vt(t){return t.getAttribute&&t.getAttribute("class")||""}function yt(t){return Array.isArray(t)?t:"string"==typeof t&&t.match(P)||[]}function bt(a,e,o,n){if(Array.isArray(e))ln.each(e,function(e,t){o||wt.test(a)?n(a,t):bt(a+"["+("object"==typeof t&&null!=t?e:"")+"]",t,o,n)});else if(o||"object"!==w(e))n(a,e);else for(var t in e)bt(a+"["+t+"]",e[t],o,n)}function Dt(t){return function(e,a){"string"!=typeof e&&(a=e,e="*");var n,s=0,i=e.toLowerCase().match(P)||[];if(dn(a))for(;n=i[s++];)"+"===n[0]?(n=n.slice(1)||"*",(t[n]=t[n]||[]).unshift(a)):(t[n]=t[n]||[]).push(a)}}function Ft(d,p,t,n){function r(e){var o;return a[e]=!0,ln.each(d[e]||[],function(d,e){var s=e(p,t,n);return"string"!=typeof s||i||a[s]?i?!(o=s):void 0:(p.dataTypes.unshift(s),r(s),!1)}),o}var a={},i=d===Ot;return r(p.dataTypes[0])||!a["*"]&&r("*")}function Bt(a,e){var t,n,o=ln.ajaxSettings.flatOptions||{};for(t in e)void 0!==e[t]&&((o[t]?a:n||(n={}))[t]=e[t]);return n&&ln.extend(!0,a,n),a}var $t=Math.ceil,tn=Math.max,nn=[],o=Object.getPrototypeOf,an=nn.slice,on=nn.flat?function(t){return nn.flat.call(t)}:function(t){return nn.concat.apply([],t)},s=nn.push,a=nn.indexOf,c={},u=c.toString,sn=c.hasOwnProperty,d=sn.toString,p=d.call(Object),rn={},dn=function(t){return"function"==typeof t&&"number"!=typeof t.nodeType&&"function"!=typeof t.item},v=function(t){return null!=t&&t===t.window},y=Zt.document,h={type:!0,src:!0,nonce:!0,noModule:!0},g="3.6.0",ln=function(n,e){return new ln.fn.init(n,e)};ln.fn=ln.prototype={jquery:g,constructor:ln,length:0,toArray:function(){return an.call(this)},get:function(t){return null==t?an.call(this):0>t?this[t+this.length]:this[t]},pushStack:function(n){var e=ln.merge(this.constructor(),n);return e.prevObject=this,e},each:function(t){return ln.each(this,t)},map:function(a){return this.pushStack(ln.map(this,function(e,t){return a.call(e,t,e)}))},slice:function(){return this.pushStack(an.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ln.grep(this,function(n,e){return(e+1)%2}))},odd:function(){return this.pushStack(ln.grep(this,function(n,e){return e%2}))},eq:function(a){var o=this.length,t=+a+(0>a?o:0);return this.pushStack(0<=t&&t<o?[this[t]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:nn.sort,splice:nn.splice},ln.extend=ln.fn.extend=function(){var d,e,t,n,r,i,o=arguments[0]||{},p=1,s=arguments.length,c=!1;for("boolean"==typeof o&&(c=o,o=arguments[p]||{},p++),"object"==typeof o||dn(o)||(o={}),p===s&&(o=this,p--);p<s;p++)if(null!=(d=arguments[p]))for(e in d)n=d[e],"__proto__"!==e&&o!==n&&(c&&n&&(ln.isPlainObject(n)||(r=Array.isArray(n)))?(t=o[e],i=r&&!Array.isArray(t)?[]:r||ln.isPlainObject(t)?t:{},r=!1,o[e]=ln.extend(c,i,n)):void 0!==n&&(o[e]=n));return o},ln.extend({expando:"jQuery"+(g+Math.random()).replace(/\D/g,""),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isPlainObject:function(a){var e,t;return a&&"[object Object]"===u.call(a)&&(!(e=o(a))||"function"==typeof(t=sn.call(e,"constructor")&&e.constructor)&&d.call(t)===p)},isEmptyObject:function(n){for(var e in n)return!1;return!0},globalEval:function(a,e,t){i(a,{nonce:e&&e.nonce},t)},each:function(a,e){var t,n=0;if(T(a))for(t=a.length;n<t&&!1!==e.call(a[n],n,a[n]);n++);else for(n in a)if(!1===e.call(a[n],n,a[n]))break;return a},makeArray:function(a,o){var t=o||[];return null!=a&&(T(Object(a))?ln.merge(t,"string"==typeof a?[a]:a):s.call(t,a)),t},inArray:function(o,e,t){return null==e?-1:a.call(e,o,t)},merge:function(a,e){for(var t=+e.length,n=0,o=a.length;n<t;n++)a[o++]=e[n];return a.length=o,a},grep:function(a,e,t){for(var s=[],r=0,i=a.length;r<i;r++)!e(a[r],r)!==!t&&s.push(a[r]);return s},map:function(s,e,t){var n,r,i=0,o=[];if(T(s))for(n=s.length;i<n;i++)null!=(r=e(s[i],i,t))&&o.push(r);else for(i in s)null!=(r=e(s[i],i,t))&&o.push(r);return on(o)},guid:1,support:rn}),"function"==typeof Symbol&&(ln.fn[Symbol.iterator]=nn[Symbol.iterator]),ln.each(["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error","Symbol"],function(n,e){c["[object "+e+"]"]=e.toLowerCase()});var f=function(_){function W(n,a,t,u){var g,o,s,l,c,f,h,b=a&&a.ownerDocument,y=a?a.nodeType:9;if(t=t||[],"string"!=typeof n||!n||1!==y&&9!==y&&11!==y)return t;if(!u&&(De(a),a=a||d,Le)){if(11!==y&&(c=U.exec(n)))if(!(g=c[1])){if(c[2])return k.apply(t,a.getElementsByTagName(n)),t;if((g=c[3])&&Ee.getElementsByClassName&&a.getElementsByClassName)return k.apply(t,a.getElementsByClassName(g)),t}else if(9===y){if(!(s=a.getElementById(g)))return t;if(s.id===g)return t.push(s),t}else if(b&&(s=b.getElementById(g))&&qe(a,s)&&s.id===g)return t.push(s),t;if(Ee.qsa&&!T[n+" "]&&(!p||!p.test(n))&&(1!==y||"object"!==a.nodeName.toLowerCase())){if(h=n,b=a,1===y&&(I.test(n)||O.test(n))){for((b=V.test(n)&&me(a.parentNode)||a)===a&&Ee.scope||((l=a.getAttribute("id"))?l=l.replace(K,J):a.setAttribute("id",l=He)),o=(f=r(n)).length;o--;)f[o]=(l?"#"+l:":scope")+" "+ye(f[o]);h=f.join(",")}try{return k.apply(t,b.querySelectorAll(h)),t}catch(e){T(n,!0)}finally{l===He&&a.removeAttribute("id")}}}return Ae(n.replace(H,"$1"),a,t,u)}function e(){var a=[];return function e(t,n){return a.push(t+" ")>ke.cacheLength&&delete e[a.shift()],e[t+" "]=n}}function se(t){return t[He]=!0,t}function ue(n){var e=d.createElement("fieldset");try{return!!n(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ce(a,e){for(var t=a.split("|"),n=t.length;n--;)ke.attrHandle[t[n]]=e}function fe(a,e){var t=e&&a,n=t&&1===a.nodeType&&1===e.nodeType&&a.sourceIndex-e.sourceIndex;if(n)return n;if(t)for(;t=t.nextSibling;)if(t===e)return-1;return a?1:-1}function de(n){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===n}}function pe(a){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===a}}function he(n){return function(a){return"form"in a?a.parentNode&&!1===a.disabled?"label"in a?"label"in a.parentNode?a.parentNode.disabled===n:a.disabled===n:a.isDisabled===n||a.isDisabled!==!n&&ee(a)===n:a.disabled===n:"label"in a&&a.disabled===n}}function ge(s){return se(function(e){return e=+e,se(function(t,n){for(var r,i=s([],t.length,e),o=i.length;o--;)t[r=i[o]]&&(t[r]=!(n[r]=t[r]))})})}function me(t){return t&&void 0!==t.getElementsByTagName&&t}function ve(){}function ye(a){for(var e=0,t=a.length,n="";e<t;e++)n+=a[e].value;return n}function be(p,e,t){var h=e.dir,r=e.next,i=r||h,o=t&&"parentNode"===i,a=y++;return e.first?function(e,t,n){for(;e=e[h];)if(1===e.nodeType||o)return p(e,t,n);return!1}:function(e,t,n){var s,l,c,u=[Pe,a];if(n){for(;e=e[h];)if((1===e.nodeType||o)&&p(e,t,n))return!0;}else for(;e=e[h];)if(1===e.nodeType||o)if(l=(c=e[He]||(e[He]={}))[e.uniqueID]||(c[e.uniqueID]={}),r&&r===e.nodeName.toLowerCase())e=e[h]||e;else{if((s=l[i])&&s[0]===Pe&&s[1]===a)return u[2]=s[2];if(l[i]=u,u[2]=p(e,t,n))return!0}return!1}}function xe(a){return 1<a.length?function(e,t,n){for(var o=a.length;o--;)if(!a[o](e,t,n))return!1;return!0}:a[0]}function we(d,e,t,n,r){for(var i,o=[],a=0,s=d.length;a<s;a++)(i=d[a])&&(t&&!t(i,n,r)||(o.push(i),null!=e&&e.push(a)));return o}function Te(y,e,b,n,r,a){return n&&!n[He]&&(n=Te(n)),r&&!r[He]&&(r=Te(r,a)),se(function(i,x,a,s){var u,l,c,f=[],d=[],p=x.length,h=i||function(a,e,t){for(var n=0,o=e.length;n<o;n++)W(a,e[n],t);return t}(e||"*",a.nodeType?[a]:a,[]),g=y&&(i||!e)?we(h,f,y,a,s):h,m=b?r||(i?y:p||n)?[]:x:g;if(b&&b(g,m,a,s),n)for(u=we(m,d),n(u,[],a,s),l=u.length;l--;)(c=u[l])&&(m[d[l]]=!(g[d[l]]=c));if(!i)m=we(m===x?m.splice(p,m.length):m),r?r(null,x,m,s):k.apply(x,m);else if(r||y){if(r){for(u=[],l=m.length;l--;)(c=m[l])&&u.push(g[l]=c);r(null,m=[],u,s)}for(l=m.length;l--;)(c=m[l])&&-1<(u=r?A(i,c):f[l])&&(i[u]=!(x[u]=c))}})}function Ce(r){for(var l,e,t,n=r.length,o=ke.relative[r[0].type],i=o||ke.relative[" "],s=o?1:0,p=be(function(t){return t===l},i,!0),c=be(function(t){return-1<A(l,t)},i,!0),u=[function(t,e,n){var s=!o&&(n||e!==je)||((l=e).nodeType?p(t,e,n):c(t,e,n));return l=null,s}];s<n;s++)if(e=ke.relative[r[s].type])u=[be(xe(u),e)];else{if((e=ke.filter[r[s].type].apply(null,r[s].matches))[He]){for(t=++s;t<n&&!ke.relative[r[t].type];t++);return Te(1<s&&xe(u),1<s&&ye(r.slice(0,s-1).concat({value:" "===r[s-2].type?"*":""})).replace(H,"$1"),e,s<t&&Ce(r.slice(s,t)),t<n&&Ce(r=r.slice(t)),t<n&&ye(r))}u.push(e)}return xe(u)}var Se,Ee,ke,Ne,n,r,a,Ae,je,l,c,De,d,o,Le,p,s,u,qe,He="sizzle"+1*new Date,h=_.document,Pe=0,y=0,i=e(),b=e(),x=e(),T=e(),C=function(n,e){return n===e&&(c=!0),0},w={}.hasOwnProperty,t=[],S=t.pop,E=t.push,k=t.push,N=t.slice,A=function(a,e){for(var t=0,n=a.length;t<n;t++)if(a[t]===e)return t;return-1},j="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",D="[\\x20\\t\\r\\n\\f]",L="(?:\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",q=/[\x20\t\r\n\f]+/g,H=/^[\x20\t\r\n\f]+|((?:^|[^\\])(?:\\.)*)[\x20\t\r\n\f]+$/g,P=/^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/,O=/^[\x20\t\r\n\f]*([>+~]|[\x20\t\r\n\f])[\x20\t\r\n\f]*/,I=/[\x20\t\r\n\f]|>/,M=/:((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+)(?:\((('((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)")|((?:\\.|[^\\()[\]]|\[[\x20\t\r\n\f]*((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+)(?:[\x20\t\r\n\f]*([*^$|!~]?=)[\x20\t\r\n\f]*(?:'((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)"|((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+))|)[\x20\t\r\n\f]*\])*)|.*)\)|)/,B=/^(?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+$/,R={ID:/^#((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+)/,CLASS:/^\.((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+)/,TAG:/^((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+|[*])/,ATTR:/^\[[\x20\t\r\n\f]*((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+)(?:[\x20\t\r\n\f]*([*^$|!~]?=)[\x20\t\r\n\f]*(?:'((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)"|((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+))|)[\x20\t\r\n\f]*\]/,PSEUDO:/^:((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+)(?:\((('((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)")|((?:\\.|[^\\()[\]]|\[[\x20\t\r\n\f]*((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+)(?:[\x20\t\r\n\f]*([*^$|!~]?=)[\x20\t\r\n\f]*(?:'((?:\\.|[^\\'])*)'|"((?:\\.|[^\\"])*)"|((?:\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\[^\r\n\f]|[\w-]|[^\0-\x7f])+))|)[\x20\t\r\n\f]*\])*)|.*)\)|)/,CHILD:/^:(only|first|last|nth|nth-last)-(child|of-type)(?:\([\x20\t\r\n\f]*(even|odd|(([+-]|)(\d*)n|)[\x20\t\r\n\f]*(?:([+-]|)[\x20\t\r\n\f]*(\d+)|))[\x20\t\r\n\f]*\)|)/i,bool:/^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$/i,needsContext:/^[\x20\t\r\n\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\([\x20\t\r\n\f]*((?:-\d)?\d*)[\x20\t\r\n\f]*\)|)(?=[^-]|$)/i},F=/HTML$/i,z=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,U=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,V=/[+~]/,Y=/\\[\da-fA-F]{1,6}[\x20\t\r\n\f]?|\\([^\r\n\f])/g,Q=function(a,e){var t=String.fromCharCode,o="0x"+a.slice(1)-65536;return e||(0>o?t(o+65536):t(55296|o>>10,56320|1023&o))},K=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,J=function(n,e){return e?"\0"===n?"\uFFFD":n.slice(0,-1)+"\\"+n.charCodeAt(n.length-1).toString(16)+" ":"\\"+n},Z=function(){De()},ee=be(function(t){return!0===t.disabled&&"fieldset"===t.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{k.apply(t=N.call(h.childNodes),h.childNodes),t[h.childNodes.length].nodeType}catch(n){k={apply:t.length?function(n,e){E.apply(n,N.call(e))}:function(a,e){for(var t=a.length,n=0;a[t++]=e[n++];);a.length=t-1}}}for(Se in Ee=W.support={},n=W.isXML=function(a){var e=a&&a.namespaceURI,t=a&&(a.ownerDocument||a).documentElement;return!F.test(e||t&&t.nodeName||"HTML")},De=W.setDocument=function(r){var e,t,i=r?r.ownerDocument||r:h;return i!=d&&9===i.nodeType&&i.documentElement?(o=(d=i).documentElement,Le=!n(d),h!=d&&(t=d.defaultView)&&t.top!==t&&(t.addEventListener?t.addEventListener("unload",Z,!1):t.attachEvent&&t.attachEvent("onunload",Z)),Ee.scope=ue(function(t){return o.appendChild(t).appendChild(d.createElement("div")),void 0!==t.querySelectorAll&&!t.querySelectorAll(":scope fieldset div").length}),Ee.attributes=ue(function(t){return t.className="i",!t.getAttribute("className")}),Ee.getElementsByTagName=ue(function(t){return t.appendChild(d.createComment("")),!t.getElementsByTagName("*").length}),Ee.getElementsByClassName=$.test(d.getElementsByClassName),Ee.getById=ue(function(t){return o.appendChild(t).id=He,!d.getElementsByName||!d.getElementsByName(He).length}),Ee.getById?(ke.filter.ID=function(n){var a=n.replace(Y,Q);return function(t){return t.getAttribute("id")===a}},ke.find.ID=function(a,e){if(void 0!==e.getElementById&&Le){var t=e.getElementById(a);return t?[t]:[]}}):(ke.filter.ID=function(n){var a=n.replace(Y,Q);return function(t){var e=void 0!==t.getAttributeNode&&t.getAttributeNode("id");return e&&e.value===a}},ke.find.ID=function(a,e){if(void 0!==e.getElementById&&Le){var t,n,s,i=e.getElementById(a);if(i){if((t=i.getAttributeNode("id"))&&t.value===a)return[i];for(s=e.getElementsByName(a),n=0;i=s[n++];)if((t=i.getAttributeNode("id"))&&t.value===a)return[i]}return[]}}),ke.find.TAG=Ee.getElementsByTagName?function(n,e){return void 0===e.getElementsByTagName?Ee.qsa?e.querySelectorAll(n):void 0:e.getElementsByTagName(n)}:function(a,e){var t,n=[],s=0,i=e.getElementsByTagName(a);if("*"===a){for(;t=i[s++];)1===t.nodeType&&n.push(t);return n}return i},ke.find.CLASS=Ee.getElementsByClassName&&function(n,e){if(void 0!==e.getElementsByClassName&&Le)return e.getElementsByClassName(n)},s=[],p=[],(Ee.qsa=$.test(d.querySelectorAll))&&(ue(function(n){var e;o.appendChild(n).innerHTML="<a id='"+He+"'></a><select id='"+He+"-\r\\' msallowcapture=''><option selected=''></option></select>",n.querySelectorAll("[msallowcapture^='']").length&&p.push("[*^$]=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),n.querySelectorAll("[selected]").length||p.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|"+j+")"),n.querySelectorAll("[id~="+He+"-]").length||p.push("~="),(e=d.createElement("input")).setAttribute("name",""),n.appendChild(e),n.querySelectorAll("[name='']").length||p.push("\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:''|\"\")"),n.querySelectorAll(":checked").length||p.push(":checked"),n.querySelectorAll("a#"+He+"+*").length||p.push(".#.+[+~]"),n.querySelectorAll("\\\f"),p.push("[\\r\\n\\f]")}),ue(function(n){n.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var e=d.createElement("input");e.setAttribute("type","hidden"),n.appendChild(e).setAttribute("name","D"),n.querySelectorAll("[name=d]").length&&p.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?="),2!==n.querySelectorAll(":enabled").length&&p.push(":enabled",":disabled"),o.appendChild(n).disabled=!0,2!==n.querySelectorAll(":disabled").length&&p.push(":enabled",":disabled"),n.querySelectorAll("*,:x"),p.push(",.*:")})),(Ee.matchesSelector=$.test(u=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ue(function(t){Ee.disconnectedMatch=u.call(t,"*"),u.call(t,"[s!='']:x"),s.push("!=",":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+("\\[[\\x20\\t\\r\\n\\f]*("+L+")(?:"+D+"*([*^$|!~]?=)"+D+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+D+"*\\]")+")*)|.*)\\)|)")}),p=p.length&&new RegExp(p.join("|")),s=s.length&&new RegExp(s.join("|")),e=$.test(o.compareDocumentPosition),qe=e||$.test(o.contains)?function(a,e){var t=9===a.nodeType?a.documentElement:a,n=e&&e.parentNode;return a===n||n&&1===n.nodeType&&(t.contains?t.contains(n):a.compareDocumentPosition&&16&a.compareDocumentPosition(n))}:function(n,e){if(e)for(;e=e.parentNode;)if(e===n)return!0;return!1},C=e?function(n,e){if(n===e)return c=!0,0;var t=!n.compareDocumentPosition-!e.compareDocumentPosition;return t||(1&(t=(n.ownerDocument||n)==(e.ownerDocument||e)?n.compareDocumentPosition(e):1)||!Ee.sortDetached&&e.compareDocumentPosition(n)===t?n==d||n.ownerDocument==h&&qe(h,n)?-1:e==d||e.ownerDocument==h&&qe(h,e)?1:l?A(l,n)-A(l,e):0:4&t?-1:1)}:function(p,e){if(p===e)return c=!0,0;var t,n=0,r=p.parentNode,u=e.parentNode,g=[p],a=[e];if(!r||!u)return p==d?-1:e==d?1:r?-1:u?1:l?A(l,p)-A(l,e):0;if(r===u)return fe(p,e);for(t=p;t=t.parentNode;)g.unshift(t);for(t=e;t=t.parentNode;)a.unshift(t);for(;g[n]===a[n];)n++;return n?fe(g[n],a[n]):g[n]==h?-1:a[n]==h?1:0},d):d},W.matches=function(n,e){return W(n,null,null,e)},W.matchesSelector=function(n,e){if(De(n),Ee.matchesSelector&&Le&&!T[e+" "]&&(!s||!s.test(e))&&(!p||!p.test(e)))try{var t=u.call(n,e);if(t||Ee.disconnectedMatch||n.document&&11!==n.document.nodeType)return t}catch(t){T(e,!0)}return 0<W(e,d,null,[n]).length},W.contains=function(n,e){return(n.ownerDocument||n)!=d&&De(n),qe(n,e)},W.attr=function(n,e){(n.ownerDocument||n)!=d&&De(n);var t=ke.attrHandle[e.toLowerCase()],a=t&&w.call(ke.attrHandle,e.toLowerCase())?t(n,e,!Le):void 0;return void 0===a?Ee.attributes||!Le?n.getAttribute(e):(a=n.getAttributeNode(e))&&a.specified?a.value:null:a},W.escape=function(t){return(t+"").replace(K,J)},W.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},W.uniqueSort=function(n){var e,t=[],a=0,s=0;if(c=!Ee.detectDuplicates,l=!Ee.sortStable&&n.slice(0),n.sort(C),c){for(;e=n[s++];)e===n[s]&&(a=t.push(s));for(;a--;)n.splice(t[a],1)}return l=null,n},Ne=W.getText=function(a){var e,t="",n=0,s=a.nodeType;if(!s)for(;e=a[n++];)t+=Ne(e);else if(1===s||9===s||11===s){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)t+=Ne(a)}else if(3===s||4===s)return a.nodeValue;return t},ke=W.selectors={cacheLength:50,createPseudo:se,match:R,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(Y,Q),t[3]=(t[3]||t[4]||t[5]||"").replace(Y,Q),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||W.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&W.error(t[0]),t},PSEUDO:function(a){var e,t=!a[6]&&a[2];return R.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":t&&M.test(t)&&(e=r(t,!0))&&(e=t.indexOf(")",t.length-e)-t.length)&&(a[0]=a[0].slice(0,e),a[2]=t.slice(0,e)),a.slice(0,3))}},filter:{TAG:function(n){var a=n.replace(Y,Q).toLowerCase();return"*"===n?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===a}},CLASS:function(n){var a=i[n+" "];return a||(a=new RegExp("(^|[\\x20\\t\\r\\n\\f])"+n+"("+D+"|$)"))&&i(n,function(t){return a.test("string"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(a,e,o){return function(n){var s=W.attr(n,a);return null==s?"!="===e:!e||(s+="","="===e?s===o:"!="===e?s!==o:"^="===e?o&&0===s.indexOf(o):"*="===e?o&&-1<s.indexOf(o):"$="===e?o&&s.slice(-o.length)===o:"~="===e?-1<(" "+s.replace(q," ")+" ").indexOf(o):"|="==e&&(s===o||s.slice(0,o.length+1)===o+"-"))}},CHILD:function(u,e,t,n,r){var i="nth"!==u.slice(0,3),o="last"!==u.slice(-4),a="of-type"===e;return 1===n&&0===r?function(t){return!!t.parentNode}:function(e,t,x){var T,l,c,f,d,p,C=i==o?"previousSibling":"nextSibling",g=e.parentNode,m=a&&e.nodeName.toLowerCase(),v=!x&&!a,y=!1;if(g){if(i){for(;C;){for(f=e;f=f[C];)if(a?f.nodeName.toLowerCase()===m:1===f.nodeType)return!1;p=C="only"===u&&!p&&"nextSibling"}return!0}if(p=[o?g.firstChild:g.lastChild],o&&v){for(y=(d=(T=(l=(c=(f=g)[He]||(f[He]={}))[f.uniqueID]||(c[f.uniqueID]={}))[u]||[])[0]===Pe&&T[1])&&T[2],f=d&&g.childNodes[d];f=++d&&f&&f[C]||(y=d=0)||p.pop();)if(1===f.nodeType&&++y&&f===e){l[u]=[Pe,d,y];break}}else if(v&&(y=d=(T=(l=(c=(f=e)[He]||(f[He]={}))[f.uniqueID]||(c[f.uniqueID]={}))[u]||[])[0]===Pe&&T[1]),!1===y)for(;(f=++d&&f&&f[C]||(y=d=0)||p.pop())&&((a?f.nodeName.toLowerCase()!==m:1!==f.nodeType)||!++y||(v&&((l=(c=f[He]||(f[He]={}))[f.uniqueID]||(c[f.uniqueID]={}))[u]=[Pe,y]),f!==e)););return(y-=r)==n||0==y%n&&0<=y/n}}},PSEUDO:function(a,s){var t,d=ke.pseudos[a]||ke.setFilters[a.toLowerCase()]||W.error("unsupported pseudo: "+a);return d[He]?d(s):1<d.length?(t=[a,a,"",s],ke.setFilters.hasOwnProperty(a.toLowerCase())?se(function(t,e){for(var n,i=d(t,s),o=i.length;o--;)t[n=A(t,i[o])]=!(e[n]=i[o])}):function(n){return d(n,0,t)}):d}},pseudos:{not:se(function(o){var s=[],t=[],n=a(o.replace(H,"$1"));return n[He]?se(function(r,e,t,d){for(var i,o=n(r,null,d,[]),a=r.length;a--;)(i=o[a])&&(r[a]=!(e[a]=i))}):function(a,e,i){return s[0]=a,n(s,null,i,t),s[0]=null,!t.pop()}}),has:se(function(n){return function(e){return 0<W(n,e).length}}),contains:se(function(n){return n=n.replace(Y,Q),function(e){return-1<(e.textContent||Ne(e)).indexOf(n)}}),lang:se(function(a){return B.test(a||"")||W.error("unsupported lang: "+a),a=a.replace(Y,Q).toLowerCase(),function(e){var t;do if(t=Le?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===a||0===t.indexOf(a+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=_.location&&_.location.hash;return t&&t.slice(1)===e.id},root:function(t){return t===o},focus:function(t){return t===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:he(!1),disabled:he(!0),checked:function(n){var e=n.nodeName.toLowerCase();return"input"===e&&!!n.checked||"option"===e&&!!n.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(6>t.nodeType)return!1;return!0},parent:function(t){return!ke.pseudos.empty(t)},header:function(t){return X.test(t.nodeName)},input:function(t){return z.test(t.nodeName)},button:function(n){var e=n.nodeName.toLowerCase();return"input"===e&&"button"===n.type||"button"===e},text:function(n){var e;return"input"===n.nodeName.toLowerCase()&&"text"===n.type&&(null==(e=n.getAttribute("type"))||"text"===e.toLowerCase())},first:ge(function(){return[0]}),last:ge(function(n,e){return[e-1]}),eq:ge(function(a,e,t){return[0>t?t+e:t]}),even:ge(function(a,e){for(var t=0;t<e;t+=2)a.push(t);return a}),odd:ge(function(a,e){for(var t=1;t<e;t+=2)a.push(t);return a}),lt:ge(function(a,e,t){for(var n=0>t?t+e:t>e?e:t;0<=--n;)a.push(n);return a}),gt:ge(function(a,e,t){for(var n=0>t?t+e:t;++n<e;)a.push(n);return a})}},ke.pseudos.nth=ke.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})ke.pseudos[Se]=de(Se);for(Se in{submit:!0,reset:!0})ke.pseudos[Se]=pe(Se);return ve.prototype=ke.filters=ke.pseudos,ke.setFilters=new ve,r=W.tokenize=function(r,e){var t,d,p,o,a,s,u,l=b[r+" "];if(l)return e?0:l.slice(0);for(a=r,s=[],u=ke.preFilter;a;){for(o in t&&!(d=P.exec(a))||(d&&(a=a.slice(d[0].length)||a),s.push(p=[])),t=!1,(d=O.exec(a))&&(t=d.shift(),p.push({value:t,type:d[0].replace(H," ")}),a=a.slice(t.length)),ke.filter)(d=R[o].exec(a))&&(!u[o]||(d=u[o](d)))&&(t=d.shift(),p.push({value:t,type:o,matches:d}),a=a.slice(t.length));if(!t)break}return e?a.length:a?W.error(r):b(r,s).slice(0)},a=W.compile=function(a,e){var t,n=[],i=[],o=x[a+" "];if(!o){for(e||(e=r(a)),t=e.length;t--;)(o=Ce(e[t]))[He]?n.push(o):i.push(o);o=x(a,function(r,e){var t=0<e.length,n=0<r.length,a=function(i,l,a,s,p){var c,u,h,f=0,v="0",y=i&&[],b=[],x=je,T=i||n&&ke.find.TAG("*",p),C=Pe+=null==x?1:Math.random()||.1,w=T.length;for(p&&(je=l==d||l||p);v!==w&&null!=(c=T[v]);v++){if(n&&c){for(u=0,l||c.ownerDocument==d||(De(c),a=!Le);h=r[u++];)if(h(c,l||d,a)){s.push(c);break}p&&(Pe=C)}t&&((c=!h&&c)&&f--,i&&y.push(c))}if(f+=v,t&&v!==f){for(u=0;h=e[u++];)h(y,b,l,a);if(i){if(0<f)for(;v--;)y[v]||b[v]||(b[v]=S.call(s));b=we(b)}k.apply(s,b),p&&!i&&0<b.length&&1<f+e.length&&W.uniqueSort(s)}return p&&(Pe=C,je=x),y};return t?se(a):a}(i,n)),o.selector=a}return o},Ae=W.select=function(s,h,m,n){var y,o,u,l,c,f="function"==typeof s&&s,d=!n&&r(s=f.selector||s);if(m=m||[],1===d.length){if(2<(o=d[0]=d[0].slice(0)).length&&"ID"===(u=o[0]).type&&9===h.nodeType&&Le&&ke.relative[o[1].type]){if(!(h=(ke.find.ID(u.matches[0].replace(Y,Q),h)||[])[0]))return m;f&&(h=h.parentNode),s=s.slice(o.shift().value.length)}for(y=R.needsContext.test(s)?0:o.length;y--&&(u=o[y],!ke.relative[l=u.type]);)if((c=ke.find[l])&&(n=c(u.matches[0].replace(Y,Q),V.test(o[0].type)&&me(h.parentNode)||h))){if(o.splice(y,1),!(s=n.length&&ye(o)))return k.apply(m,n),m;break}}return(f||a(s,d))(n,h,!Le,m,!h||V.test(s)&&me(h.parentNode)||h),m},Ee.sortStable=He.split("").sort(C).join("")===He,Ee.detectDuplicates=!!c,De(),Ee.sortDetached=ue(function(t){return 1&t.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(t){return t.innerHTML="<a href='#'></a>","#"===t.firstChild.getAttribute("href")})||ce("type|href|height|width",function(a,e,t){if(!t)return a.getAttribute(e,"type"===e.toLowerCase()?1:2)}),Ee.attributes&&ue(function(t){return t.innerHTML="<input/>",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||ce("value",function(a,e,t){if(!t&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ue(function(t){return null==t.getAttribute("disabled")})||ce(j,function(a,e,t){var o;if(!t)return!0===a[e]?e.toLowerCase():(o=a.getAttributeNode(e))&&o.specified?o.value:null}),W}(Zt);ln.find=f,ln.expr=f.selectors,ln.expr[":"]=ln.expr.pseudos,ln.uniqueSort=ln.unique=f.uniqueSort,ln.text=f.getText,ln.isXMLDoc=f.isXML,ln.contains=f.contains,ln.escapeSelector=f.escape;var b=function(a,e,t){for(var n=[];(a=a[e])&&9!==a.nodeType;)if(1===a.nodeType){if(void 0!==t&&ln(a).is(t))break;n.push(a)}return n},x=function(a,e){for(var t=[];a;a=a.nextSibling)1===a.nodeType&&a!==e&&t.push(a);return t},k=ln.expr.match.needsContext,N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;ln.filter=function(a,e,t){var n=e[0];return t&&(a=":not("+a+")"),1===e.length&&1===n.nodeType?ln.find.matchesSelector(n,a)?[n]:[]:ln.find.matches(a,ln.grep(e,function(t){return 1===t.nodeType}))},ln.fn.extend({find:function(a){var o,t,n=this.length,s=this;if("string"!=typeof a)return this.pushStack(ln(a).filter(function(){for(o=0;o<n;o++)if(ln.contains(s[o],this))return!0}));for(t=this.pushStack([]),o=0;o<n;o++)ln.find(a,s[o],t);return 1<n?ln.uniqueSort(t):t},filter:function(t){return this.pushStack(r(this,t||[],!1))},not:function(t){return this.pushStack(r(this,t||[],!0))},is:function(t){return!!r(this,"string"==typeof t&&k.test(t)?ln(t):t||[],!1).length}});var A,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ln.fn.init=function(a,o,s){var n,r;if(!a)return this;if(s=s||A,"string"==typeof a){if(!(n="<"===a[0]&&">"===a[a.length-1]&&3<=a.length?[null,a,null]:j.exec(a))||!n[1]&&o)return!o||o.jquery?(o||s).find(a):this.constructor(o).find(a);if(n[1]){if(o=o instanceof ln?o[0]:o,ln.merge(this,ln.parseHTML(n[1],o&&o.nodeType?o.ownerDocument||o:y,!0)),N.test(n[1])&&ln.isPlainObject(o))for(n in o)dn(this[n])?this[n](o[n]):this.attr(n,o[n]);return this}return(r=y.getElementById(n[2]))&&(this[0]=r,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):dn(a)?void 0===s.ready?a(ln):s.ready(a):ln.makeArray(a,this)}).prototype=ln.fn,A=ln(y);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};ln.fn.extend({has:function(a){var o=ln(a,this),t=o.length;return this.filter(function(){for(var n=0;n<t;n++)if(ln.contains(this,o[n]))return!0})},closest:function(s,d){var t,n=0,r=this.length,i=[],o="string"!=typeof s&&ln(s);if(!k.test(s))for(;n<r;n++)for(t=this[n];t&&t!==d;t=t.parentNode)if(11>t.nodeType&&(o?-1<o.index(t):1===t.nodeType&&ln.find.matchesSelector(t,s))){i.push(t);break}return this.pushStack(1<i.length?ln.uniqueSort(i):i)},index:function(t){return t?"string"==typeof t?a.call(ln(t),this[0]):a.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(n,e){return this.pushStack(ln.uniqueSort(ln.merge(this.get(),ln(n,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),ln.each({parent:function(n){var e=n.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return b(t,"parentNode")},parentsUntil:function(a,e,t){return b(a,"parentNode",t)},next:function(t){return D(t,"nextSibling")},prev:function(t){return D(t,"previousSibling")},nextAll:function(t){return b(t,"nextSibling")},prevAll:function(t){return b(t,"previousSibling")},nextUntil:function(a,e,t){return b(a,"nextSibling",t)},prevUntil:function(a,e,t){return b(a,"previousSibling",t)},siblings:function(t){return x((t.parentNode||{}).firstChild,t)},children:function(t){return x(t.firstChild)},contents:function(t){return null!=t.contentDocument&&o(t.contentDocument)?t.contentDocument:(S(t,"template")&&(t=t.content||t),ln.merge([],t.childNodes))}},function(a,e){ln.fn[a]=function(t,n){var o=ln.map(this,e,t);return"Until"!==a.slice(-5)&&(n=t),n&&"string"==typeof n&&(o=ln.filter(n,o)),1<this.length&&(H[a]||ln.uniqueSort(o),L.test(a)&&o.reverse()),this.pushStack(o)}});var P=/[^\x20\t\r\n\f]+/g;ln.Callbacks=function(d){d="string"==typeof d?function(n){var a={};return ln.each(n.match(P)||[],function(t,e){a[e]=!0}),a}(d):ln.extend({},d);var p,c,n,h,g=[],f=[],a=-1,s=function(){for(h=h||d.once,n=p=!0;f.length;a=-1)for(c=f.shift();++a<g.length;)!1===g[a].apply(c[0],c[1])&&d.stopOnFalse&&(a=g.length,c=!1);d.memory||(c=!1),p=!1,h&&(g=c?[]:"")},u={add:function(){return g&&(c&&!p&&(a=g.length-1,f.push(c)),function e(t){ln.each(t,function(t,n){dn(n)?d.unique&&u.has(n)||g.push(n):n&&n.length&&"string"!==w(n)&&e(n)})}(arguments),c&&!p&&s()),this},remove:function(){return ln.each(arguments,function(o,e){for(var t;-1<(t=ln.inArray(e,g,t));)g.splice(t,1),t<=a&&a--}),this},has:function(t){return t?-1<ln.inArray(t,g):0<g.length},empty:function(){return g&&(g=[]),this},disable:function(){return h=f=[],g=c="",this},disabled:function(){return!g},lock:function(){return h=f=[],c||p||(g=c=""),this},locked:function(){return!!h},fireWith:function(t,e){return h||(e=[t,(e=e||[]).slice?e.slice():e],f.push(e),p||s()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!n}};return u},ln.extend({Deferred:function(a){var d=[["notify","progress",ln.Callbacks("memory"),ln.Callbacks("memory"),2],["resolve","done",ln.Callbacks("once memory"),ln.Callbacks("once memory"),0,"resolved"],["reject","fail",ln.Callbacks("once memory"),ln.Callbacks("once memory"),1,"rejected"]],e="pending",t={state:function(){return e},always:function(){return l.done(arguments).fail(arguments),this},catch:function(n){return t.then(null,n)},pipe:function(){var a=arguments;return ln.Deferred(function(t){ln.each(d,function(e,n){var o=dn(a[n[4]])&&a[n[4]];l[n[1]](function(){var a=o&&o.apply(this,arguments);a&&dn(a.promise)?a.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[n[0]+"With"](this,o?[a]:arguments)})}),a=null}).promise()},then:function(t,e,n){function p(o,e,t,n){return function(){var i=this,s=arguments,r=function(){var d,c;if(!(o<a)){if((d=t.apply(i,s))===e.promise())throw new TypeError("Thenable self-resolution");c=d&&("object"==typeof d||"function"==typeof d)&&d.then,dn(c)?n?c.call(d,p(a,e,q,n),p(a,e,I,n)):(a++,c.call(d,p(a,e,q,n),p(a,e,I,n),p(a,e,q,e.notifyWith))):(t!==q&&(i=void 0,s=[d]),(n||e.resolveWith)(i,s))}},d=n?r:function(){try{r()}catch(n){ln.Deferred.exceptionHook&&ln.Deferred.exceptionHook(n,d.stackTrace),o+1>=a&&(t!==I&&(i=void 0,s=[n]),e.rejectWith(i,s))}};o?d():(ln.Deferred.getStackHook&&(d.stackTrace=ln.Deferred.getStackHook()),Zt.setTimeout(d))}}var a=0;return ln.Deferred(function(a){d[0][3].add(p(0,a,dn(n)?n:q,a.notifyWith)),d[1][3].add(p(0,a,dn(t)?t:q)),d[2][3].add(p(0,a,dn(e)?e:I))}).promise()},promise:function(n){return null==n?t:ln.extend(n,t)}},l={};return ln.each(d,function(n,o){var i=o[2],a=o[5];t[o[1]]=i.add,a&&i.add(function(){e=a},d[3-n][2].disable,d[3-n][3].disable,d[0][2].lock,d[0][3].lock),i.add(o[3].fire),l[o[0]]=function(){return l[o[0]+"With"](this===l?void 0:this,arguments),this},l[o[0]+"With"]=i.fireWith}),t.promise(l),a&&a.call(l,l),l},when:function(s){var d=arguments.length,e=d,l=Array(e),r=an.call(arguments),i=ln.Deferred(),n=function(t){return function(e){l[t]=this,r[t]=1<arguments.length?an.call(arguments):e,--d||i.resolveWith(l,r)}};if(1>=d&&(_(s,i.done(n(e)).resolve,i.reject,!d),"pending"===i.state()||dn(r[e]&&r[e].then)))return i.then();for(;e--;)_(r[e],n(e),i.reject);return i.promise()}});var O=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ln.Deferred.exceptionHook=function(n,e){Zt.console&&Zt.console.warn&&n&&O.test(n.name)&&Zt.console.warn("jQuery.Deferred exception: "+n.message,n.stack,e)},ln.readyException=function(t){Zt.setTimeout(function(){throw t})};var M=ln.Deferred();ln.fn.ready=function(t){return M.then(t).catch(function(t){ln.readyException(t)}),this},ln.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--ln.readyWait:ln.isReady)||(ln.isReady=!0,!0!==t&&0<--ln.readyWait||M.resolveWith(y,[ln]))}}),ln.ready.then=M.then,"complete"!==y.readyState&&("loading"===y.readyState||y.documentElement.doScroll)?(y.addEventListener("DOMContentLoaded",W),Zt.addEventListener("load",W)):Zt.setTimeout(ln.ready);var B=function(d,e,t,n,r,i,o){var a=0,s=d.length,p=null==t;if("object"===w(t))for(a in r=!0,t)B(d,e,a,t[a],!0,i,o);else if(void 0!==n&&(r=!0,dn(n)||(o=!0),p&&(o?(e.call(d,n),e=null):(p=e,e=function(a,e,t){return p.call(ln(a),t)})),e))for(;a<s;a++)e(d[a],t,o?n:n.call(d[a],a,e(d[a],t)));return r?d:p?e.call(d):s?e(d[0],t):i},R=/^-ms-/,X=/-([a-z])/g,$=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};Y.uid=1,Y.prototype={cache:function(n){var e=n[this.expando];return e||(e={},$(n)&&(n.nodeType?n[this.expando]=e:Object.defineProperty(n,this.expando,{value:e,configurable:!0}))),e},set:function(a,e,o){var n,s=this.cache(a);if("string"==typeof e)s[z(e)]=o;else for(n in e)s[z(n)]=e[n];return s},get:function(n,e){return void 0===e?this.cache(n):n[this.expando]&&n[this.expando][z(e)]},access:function(a,e,o){return void 0===e||e&&"string"==typeof e&&void 0===o?this.get(a,e):(this.set(a,e,o),void 0===o?e:o)},remove:function(a,e){var t,n=a[this.expando];if(void 0!==n){if(void 0!==e)for(t=(e=Array.isArray(e)?e.map(z):((e=z(e))in n)?[e]:e.match(P)||[]).length;t--;)delete n[e[t]];(void 0===e||ln.isEmptyObject(n))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(n){var e=n[this.expando];return void 0!==e&&!ln.isEmptyObject(e)}};var U=new Y,V=new Y,Q=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;ln.extend({hasData:function(t){return V.hasData(t)||U.hasData(t)},data:function(a,e,t){return V.access(a,e,t)},removeData:function(n,e){V.remove(n,e)},_data:function(a,e,t){return U.access(a,e,t)},_removeData:function(n,e){U.remove(n,e)}}),ln.fn.extend({data:function(s,d){var t,n,r,i=this[0],o=i&&i.attributes;if(void 0===s){if(this.length&&(r=V.get(i),1===i.nodeType&&!U.get(i,"hasDataAttrs"))){for(t=o.length;t--;)o[t]&&0===(n=o[t].name).indexOf("data-")&&(n=z(n.slice(5)),G(i,n,r[n]));U.set(i,"hasDataAttrs",!0)}return r}return"object"==typeof s?this.each(function(){V.set(this,s)}):B(this,function(e){var t;return i&&void 0===e?void 0!==(t=V.get(i,s))||void 0!==(t=G(i,s))?t:void 0:void this.each(function(){V.set(this,s,e)})},null,d,1<arguments.length,null,!0)},removeData:function(t){return this.each(function(){V.remove(this,t)})}}),ln.extend({queue:function(a,e,t){var n;if(a)return e=(e||"fx")+"queue",n=U.get(a,e),t&&(!n||Array.isArray(t)?n=U.access(a,e,ln.makeArray(t)):n.push(t)),n||[]},dequeue:function(a,e){e=e||"fx";var t=ln.queue(a,e),n=t.length,s=t.shift(),i=ln._queueHooks(a,e);"inprogress"===s&&(s=t.shift(),n--),s&&("fx"===e&&t.unshift("inprogress"),delete i.stop,s.call(a,function(){ln.dequeue(a,e)},i)),!n&&i&&i.empty.fire()},_queueHooks:function(a,e){var t=e+"queueHooks";return U.get(a,t)||U.access(a,t,{empty:ln.Callbacks("once memory").add(function(){U.remove(a,[e+"queue",t])})})}}),ln.fn.extend({queue:function(a,o){var t=2;return"string"!=typeof a&&(o=a,a="fx",t--),arguments.length<t?ln.queue(this[0],a):void 0===o?this:this.each(function(){var e=ln.queue(this,a,o);ln._queueHooks(this,a),"fx"===a&&"inprogress"!==e[0]&&ln.dequeue(this,a)})},dequeue:function(t){return this.each(function(){ln.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||"fx",[])},promise:function(d,l){var t,n=1,r=ln.Deferred(),i=this,o=this.length,a=function(){--n||r.resolveWith(i,[i])};for("string"!=typeof d&&(l=d,d=void 0),d=d||"fx";o--;)(t=U.get(i[o],d+"queueHooks"))&&t.empty&&(n++,t.empty.add(a));return a(),r.promise(l)}});var Z=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ee=new RegExp("^(?:([+-])=|)("+Z+")([a-z%]*)$","i"),te=["Top","Right","Bottom","Left"],oe=y.documentElement,ae=function(t){return ln.contains(t.ownerDocument,t)},se={composed:!0};oe.getRootNode&&(ae=function(t){return ln.contains(t.ownerDocument,t)||t.getRootNode(se)===t.ownerDocument});var ie=function(n,e){return"none"===(n=e||n).style.display||""===n.style.display&&ae(n)&&"none"===ln.css(n,"display")},re={};ln.fn.extend({show:function(){return de(this,!0)},hide:function(){return de(this)},toggle:function(t){return"boolean"==typeof t?t?this.show():this.hide():this.each(function(){ie(this)?ln(this).show():ln(this).hide()})}});var le,ue,he=/^(?:checkbox|radio)$/i,ge=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,fe=/^$|^module$|\/(?:java|ecma)script/i;le=y.createDocumentFragment().appendChild(y.createElement("div")),(ue=y.createElement("input")).setAttribute("type","radio"),ue.setAttribute("checked","checked"),ue.setAttribute("name","t"),le.appendChild(ue),rn.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="<textarea>x</textarea>",rn.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="<option></option>",rn.option=!!le.lastChild;var me={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};me.tbody=me.tfoot=me.colgroup=me.caption=me.thead,me.th=me.td,rn.option||(me.optgroup=me.option=[1,"<select multiple='multiple'>","</select>"]);var ye=/<|&#?\w+;/,be=/^([^.]*)(?:\.(.+)|)/;ln.event={global:{},add:function(y,e,t,b,x){var v,o,a,s,u,l,c,f,d,T,h,C=U.get(y);if($(y))for(t.handler&&(t=(v=t).handler,x=v.selector),x&&ln.find.matchesSelector(oe,x),t.guid||(t.guid=ln.guid++),(s=C.events)||(s=C.events=Object.create(null)),(o=C.handle)||(o=C.handle=function(e){return void 0!==ln&&ln.event.triggered!==e.type?ln.event.dispatch.apply(y,arguments):void 0}),u=(e=(e||"").match(P)||[""]).length;u--;)d=h=(a=be.exec(e[u])||[])[1],T=(a[2]||"").split(".").sort(),d&&(c=ln.event.special[d]||{},d=(x?c.delegateType:c.bindType)||d,c=ln.event.special[d]||{},l=ln.extend({type:d,origType:h,data:b,handler:t,guid:t.guid,selector:x,needsContext:x&&ln.expr.match.needsContext.test(x),namespace:T.join(".")},v),(f=s[d])||((f=s[d]=[]).delegateCount=0,c.setup&&!1!==c.setup.call(y,b,T,o)||y.addEventListener&&y.addEventListener(d,o)),c.add&&(c.add.call(y,l),l.handler.guid||(l.handler.guid=t.guid)),x?f.splice(f.delegateCount++,0,l):f.push(l),ln.event.global[d]=!0)},remove:function(y,e,t,n,r){var b,o,a,s,u,l,c,f,d,p,h,g=U.hasData(y)&&U.get(y);if(g&&(s=g.events)){for(u=(e=(e||"").match(P)||[""]).length;u--;)if(d=h=(a=be.exec(e[u])||[])[1],p=(a[2]||"").split(".").sort(),d){for(c=ln.event.special[d]||{},f=s[d=(n?c.delegateType:c.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=b=f.length;b--;)l=f[b],!r&&h!==l.origType||t&&t.guid!==l.guid||a&&!a.test(l.namespace)||n&&n!==l.selector&&("**"!==n||!l.selector)||(f.splice(b,1),l.selector&&f.delegateCount--,c.remove&&c.remove.call(y,l));o&&!f.length&&(c.teardown&&!1!==c.teardown.call(y,p,g.handle)||ln.removeEvent(y,d,g.handle),delete s[d])}else for(d in s)ln.event.remove(y,d+e[u],t,n,!0);ln.isEmptyObject(s)&&U.remove(y,"handle events")}},dispatch:function(d){var e,t,n,r,i,o,a=Array(arguments.length),s=ln.event.fix(d),p=(U.get(this,"events")||Object.create(null))[s.type]||[],l=ln.event.special[s.type]||{};for(a[0]=s,e=1;e<arguments.length;e++)a[e]=arguments[e];if(s.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,s)){for(o=ln.event.handlers.call(this,s,p),e=0;(r=o[e++])&&!s.isPropagationStopped();)for(s.currentTarget=r.elem,t=0;(i=r.handlers[t++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==i.namespace&&!s.rnamespace.test(i.namespace)||(s.handleObj=i,s.data=i.data,void 0!==(n=((ln.event.special[i.origType]||{}).handle||i.handler).apply(r.elem,a))&&!1===(s.result=n)&&(s.preventDefault(),s.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,s),s.result}},handlers:function(d,e){var t,n,r,i,p,a=[],s=e.delegateCount,c=d.target;if(s&&c.nodeType&&!("click"===d.type&&1<=d.button))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==d.type||!0!==c.disabled)){for(i=[],p={},t=0;t<s;t++)void 0===p[r=(n=e[t]).selector+" "]&&(p[r]=n.needsContext?-1<ln(r,this).index(c):ln.find(r,this,null,[c]).length),p[r]&&i.push(n);i.length&&a.push({elem:c,handlers:i})}return c=this,s<e.length&&a.push({elem:c,handlers:e.slice(s)}),a},addProp:function(n,e){Object.defineProperty(ln.Event.prototype,n,{enumerable:!0,configurable:!0,get:dn(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[n]},set:function(e){Object.defineProperty(this,n,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[ln.expando]?t:new ln.Event(t)},special:{load:{noBubble:!0},click:{setup:function(n){var e=this||n;return he.test(e.type)&&e.click&&S(e,"input")&&je(e,"click",Ce),!1},trigger:function(n){var e=this||n;return he.test(e.type)&&e.click&&S(e,"input")&&je(e,"click"),!0},_default:function(n){var e=n.target;return he.test(e.type)&&e.click&&S(e,"input")&&U.get(e,"click")||S(e,"a")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},ln.removeEvent=function(a,e,t){a.removeEventListener&&a.removeEventListener(e,t)},ln.Event=function(n,e){return this instanceof ln.Event?void(n&&n.type?(this.originalEvent=n,this.type=n.type,this.isDefaultPrevented=n.defaultPrevented||void 0===n.defaultPrevented&&!1===n.returnValue?Ce:we,this.target=n.target&&3===n.target.nodeType?n.target.parentNode:n.target,this.currentTarget=n.currentTarget,this.relatedTarget=n.relatedTarget):this.type=n,e&&ln.extend(this,e),this.timeStamp=n&&n.timeStamp||Date.now(),this[ln.expando]=!0):new ln.Event(n,e)},ln.Event.prototype={constructor:ln.Event,isDefaultPrevented:we,isPropagationStopped:we,isImmediatePropagationStopped:we,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=Ce,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=Ce,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=Ce,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},ln.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ln.event.addProp),ln.each({focus:"focusin",blur:"focusout"},function(n,e){ln.event.special[n]={setup:function(){return je(this,n,Se),!1},trigger:function(){return je(this,n),!0},_default:function(){return!0},delegateType:e}}),ln.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(n,a){ln.event.special[n]={delegateType:a,bindType:a,handle:function(t){var e,n=this,s=t.relatedTarget,i=t.handleObj;return s&&(s===n||ln.contains(n,s))||(t.type=i.origType,e=i.handler.apply(this,arguments),t.type=a),e}}}),ln.fn.extend({on:function(a,e,t,n){return ke(this,a,e,t,n)},one:function(a,e,t,n){return ke(this,a,e,t,n,1)},off:function(a,o,s){var n,r;if(a&&a.preventDefault&&a.handleObj)return n=a.handleObj,ln(a.delegateTarget).off(n.namespace?n.origType+"."+n.namespace:n.origType,n.selector,n.handler),this;if("object"==typeof a){for(r in a)this.off(r,o,a[r]);return this}return!1!==o&&"function"!=typeof o||(s=o,o=void 0),!1===s&&(s=we),this.each(function(){ln.event.remove(this,a,s,o)})}});var ve=/<script|<style|<link/i,Te=/checked\s*(?:[^=]|=\s*.checked.)/i,Ee=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ln.extend({htmlPrefilter:function(t){return t},clone:function(d,e,t){var n,r,i,o,a=d.cloneNode(!0),s=ae(d);if(!(rn.noCloneChecked||1!==d.nodeType&&11!==d.nodeType||ln.isXMLDoc(d)))for(o=pe(a),n=0,r=(i=pe(d)).length;n<r;n++)Re(i[n],o[n]);if(e)if(t)for(i=i||pe(d),o=o||pe(a),n=0,r=i.length;n<r;n++)Pe(i[n],o[n]);else Pe(d,a);return 0<(o=pe(a,"script")).length&&ce(o,!s&&pe(d,"script")),a},cleanData:function(a){for(var e,t,n,s=ln.event.special,i=0;void 0!==(t=a[i]);i++)if($(t)){if(e=t[U.expando]){if(e.events)for(n in e.events)s[n]?ln.event.remove(t,n):ln.removeEvent(t,n,e.handle);t[U.expando]=void 0}t[V.expando]&&(t[V.expando]=void 0)}}}),ln.fn.extend({detach:function(t){return Me(this,t,!0)},remove:function(t){return Me(this,t)},text:function(t){return B(this,function(t){return void 0===t?ln.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return Ie(this,arguments,function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ne(this,t).appendChild(t)})},prepend:function(){return Ie(this,arguments,function(n){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=Ne(this,n);e.insertBefore(n,e.firstChild)}})},before:function(){return Ie(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return Ie(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var n,e=0;null!=(n=this[e]);e++)1===n.nodeType&&(ln.cleanData(pe(n,!1)),n.textContent="");return this},clone:function(n,e){return n=null!=n&&n,e=null==e?n:e,this.map(function(){return ln.clone(this,n,e)})},html:function(t){return B(this,function(a){var o=this[0]||{},t=0,n=this.length;if(void 0===a&&1===o.nodeType)return o.innerHTML;if("string"==typeof a&&!ve.test(a)&&!me[(ge.exec(a)||["",""])[1].toLowerCase()]){a=ln.htmlPrefilter(a);try{for(;t<n;t++)1===(o=this[t]||{}).nodeType&&(ln.cleanData(pe(o,!1)),o.innerHTML=a);o=0}catch(t){}}o&&this.empty().append(a)},null,t,arguments.length)},replaceWith:function(){var a=[];return Ie(this,arguments,function(e){var t=this.parentNode;0>ln.inArray(this,a)&&(ln.cleanData(pe(this)),t&&t.replaceChild(e,this))},a)}}),ln.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(n,d){ln.fn[n]=function(t){for(var e,n=[],r=ln(t),i=r.length-1,o=0;o<=i;o++)e=o===i?this:this.clone(!0),ln(r[o])[d](e),s.apply(n,e.get());return this.pushStack(n)}});var De=new RegExp("^("+Z+")(?!px)[a-z%]+$","i"),Le=function(n){var e=n.ownerDocument.defaultView;return e&&e.opener||(e=Zt),e.getComputedStyle(n)},qe=function(a,e,t){var n,s,i={};for(s in e)i[s]=a.style[s],a.style[s]=e[s];for(s in n=t.call(a),e)a.style[s]=i[s];return n},Be=new RegExp(te.join("|"),"i");!function(){function r(){if(l){p.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",oe.appendChild(p).appendChild(l);var a=Zt.getComputedStyle(l);t="1%"!==a.top,s=12===d(a.marginLeft),l.style.right="60%",o=36===d(a.right),n=36===d(a.width),l.style.position="absolute",i=12===d(l.offsetWidth/3),oe.removeChild(p),l=null}}function d(t){return Math.round(parseFloat(t))}var t,n,i,o,a,s,p=y.createElement("div"),l=y.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",rn.clearCloneStyle="content-box"===l.style.backgroundClip,ln.extend(rn,{boxSizingReliable:function(){return r(),n},pixelBoxStyles:function(){return r(),o},pixelPosition:function(){return r(),t},reliableMarginLeft:function(){return r(),s},scrollboxSize:function(){return r(),i},reliableTrDimensions:function(){var o,e,t,n;return null==a&&(o=y.createElement("table"),e=y.createElement("tr"),t=y.createElement("div"),o.style.cssText="position:absolute;left:-11111px;border-collapse:separate",e.style.cssText="border:1px solid",e.style.height="1px",t.style.height="9px",t.style.display="block",oe.appendChild(o).appendChild(e).appendChild(t),n=Zt.getComputedStyle(e),a=parseInt(n.height,10)+parseInt(n.borderTopWidth,10)+parseInt(n.borderBottomWidth,10)===e.offsetHeight,oe.removeChild(o)),a}}))}();var We=["Webkit","Moz","ms"],Fe=y.createElement("div").style,Xe={},$e=/^(none|table(?!-c[ea]).+)/,Ve=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};ln.extend({cssHooks:{opacity:{get:function(a,e){if(e){var t=_e(a,"opacity");return""===t?"1":t}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(d,e,t,p){if(d&&3!==d.nodeType&&8!==d.nodeType&&d.style){var r,i,o,a=z(e),s=Ve.test(e),c=d.style;if(s||(e=Ue(a)),o=ln.cssHooks[e]||ln.cssHooks[a],void 0===t)return o&&"get"in o&&void 0!==(r=o.get(d,!1,p))?r:c[e];"string"==(i=typeof t)&&(r=ee.exec(t))&&r[1]&&(t=J(d,e,r),i="number"),null!=t&&t==t&&("number"!==i||s||(t+=r&&r[3]||(ln.cssNumber[a]?"":"px")),rn.clearCloneStyle||""!==t||0!==e.indexOf("background")||(c[e]="inherit"),o&&"set"in o&&void 0===(t=o.set(d,t,p))||(s?c.setProperty(e,t):c[e]=t))}},css:function(d,e,t,n){var r,i,o,a=z(e);return Ve.test(e)||(e=Ue(a)),(o=ln.cssHooks[e]||ln.cssHooks[a])&&"get"in o&&(r=o.get(d,!0,t)),void 0===r&&(r=_e(d,e,n)),"normal"===r&&e in Qe&&(r=Qe[e]),""===t||t?(i=parseFloat(r),!0===t||isFinite(i)?i||0:r):r}}),ln.each(["height","width"],function(n,d){ln.cssHooks[d]={get:function(t,e,n){if(e)return!$e.test(ln.css(t,"display"))||t.getClientRects().length&&t.getBoundingClientRect().width?tt(t,d,n):qe(t,Ge,function(){return tt(t,d,n)})},set:function(t,e,n){var r,i=Le(t),o=!rn.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===ln.css(t,"boxSizing",!1,i),s=n?et(t,d,n,a,i):0;return a&&o&&(s-=$t(t["offset"+d[0].toUpperCase()+d.slice(1)]-parseFloat(i[d])-et(t,d,"border",!1,i)-.5)),s&&(r=ee.exec(e))&&"px"!==(r[3]||"px")&&(t.style[d]=e,e=ln.css(t,d)),Ye(0,e,s)}}}),ln.cssHooks.marginLeft=ze(rn.reliableMarginLeft,function(n,e){if(e)return(parseFloat(_e(n,"marginLeft"))||n.getBoundingClientRect().left-qe(n,{marginLeft:0},function(){return n.getBoundingClientRect().left}))+"px"}),ln.each({margin:"",padding:"",border:"Width"},function(a,e){ln.cssHooks[a+e]={expand:function(t){for(var s=0,r={},i="string"==typeof t?t.split(" "):[t];4>s;s++)r[a+te[s]+e]=i[s]||i[s-2]||i[0];return r}},"margin"!==a&&(ln.cssHooks[a+e].set=Ye)}),ln.fn.extend({css:function(n,e){return B(this,function(s,e,t){var n,r,i={},o=0;if(Array.isArray(e)){for(n=Le(s),r=e.length;o<r;o++)i[e[o]]=ln.css(s,e[o],!1,n);return i}return void 0===t?ln.css(s,e):ln.style(s,e,t)},n,e,1<arguments.length)}}),ln.Tween=nt,nt.prototype={constructor:nt,init:function(a,e,t,n,s,i){this.elem=a,this.prop=t,this.easing=s||ln.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=n,this.unit=i||(ln.cssNumber[t]?"":"px")},cur:function(){var t=nt.propHooks[this.prop];return t&&t.get?t.get(this):nt.propHooks._default.get(this)},run:function(a){var e,t=nt.propHooks[this.prop];return this.pos=this.options.duration?e=ln.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):e=a,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),t&&t.set?t.set(this):nt.propHooks._default.set(this),this}},nt.prototype.init.prototype=nt.prototype,nt.propHooks={_default:{get:function(n){var e;return 1!==n.elem.nodeType||null!=n.elem[n.prop]&&null==n.elem.style[n.prop]?n.elem[n.prop]:(e=ln.css(n.elem,n.prop,""))&&"auto"!==e?e:0},set:function(t){ln.fx.step[t.prop]?ln.fx.step[t.prop](t):1===t.elem.nodeType&&(ln.cssHooks[t.prop]||null!=t.elem.style[Ue(t.prop)])?ln.style(t.elem,t.prop,t.now+t.unit):t.elem[t.prop]=t.now}}},nt.propHooks.scrollTop=nt.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},ln.easing={linear:function(t){return t},swing:function(t){return .5-Math.cos(t*Math.PI)/2},_default:"swing"},ln.fx=nt.prototype.init,ln.fx.step={};var Ke,Je,Ze=/^(?:toggle|show|hide)$/,at=/queueHooks$/;ln.Animation=ln.extend(ft,{tweeners:{"*":[function(a,e){var t=this.createTween(a,e);return J(t.elem,a,ee.exec(e),t),t}]},tweener:function(a,e){dn(a)?(e=a,a=["*"]):a=a.match(P);for(var t,n=0,o=a.length;n<o;n++)t=a[n],ft.tweeners[t]=ft.tweeners[t]||[],ft.tweeners[t].unshift(e)},prefilters:[function(y,e,t){var n,r,i,o,a,s,u,b,c="width"in e||"height"in e,f=this,d={},p=y.style,h=y.nodeType&&ie(y),x=U.get(y,"fxshow");for(n in t.queue||(null==(o=ln._queueHooks(y,"fx")).unqueued&&(o.unqueued=0,a=o.empty.fire,o.empty.fire=function(){o.unqueued||a()}),o.unqueued++,f.always(function(){f.always(function(){o.unqueued--,ln.queue(y,"fx").length||o.empty.fire()})})),e)if(r=e[n],Ze.test(r)){if(delete e[n],i=i||"toggle"===r,r===(h?"hide":"show")){if("show"!==r||!x||void 0===x[n])continue;h=!0}d[n]=x&&x[n]||ln.style(y,n)}if((s=!ln.isEmptyObject(e))||!ln.isEmptyObject(d))for(n in c&&1===y.nodeType&&(t.overflow=[p.overflow,p.overflowX,p.overflowY],null==(u=x&&x.display)&&(u=U.get(y,"display")),"none"===(b=ln.css(y,"display"))&&(u?b=u:(de([y],!0),u=y.style.display||u,b=ln.css(y,"display"),de([y]))),("inline"===b||"inline-block"===b&&null!=u)&&"none"===ln.css(y,"float")&&(s||(f.done(function(){p.display=u}),null==u&&(b=p.display,u="none"===b?"":b)),p.display="inline-block")),t.overflow&&(p.overflow="hidden",f.always(function(){p.overflow=t.overflow[0],p.overflowX=t.overflow[1],p.overflowY=t.overflow[2]})),s=!1,d)s||(x?"hidden"in x&&(h=x.hidden):x=U.access(y,"fxshow",{display:u}),i&&(x.hidden=!h),h&&de([y],!0),f.done(function(){for(n in h||de([y]),U.remove(y,"fxshow"),d)ln.style(y,n,d[n])})),s=ct(h?x[n]:0,n,f),n in x||(x[n]=s.start,h&&(s.end=s.start,s.start=0))}],prefilter:function(n,e){e?ft.prefilters.unshift(n):ft.prefilters.push(n)}}),ln.speed=function(a,o,t){var s=a&&"object"==typeof a?ln.extend({},a):{complete:t||!t&&o||dn(a)&&a,duration:a,easing:t&&o||o&&!dn(o)&&o};return ln.fx.off?s.duration=0:"number"!=typeof s.duration&&(s.duration in ln.fx.speeds?s.duration=ln.fx.speeds[s.duration]:s.duration=ln.fx.speeds._default),null!=s.queue&&!0!==s.queue||(s.queue="fx"),s.old=s.complete,s.complete=function(){dn(s.old)&&s.old.call(this),s.queue&&ln.dequeue(this,s.queue)},s},ln.fn.extend({fadeTo:function(a,e,o,n){return this.filter(ie).css("opacity",0).show().end().animate({opacity:e},a,o,n)},animate:function(s,e,t,n){var r=ln.isEmptyObject(s),i=ln.speed(e,t,n),o=function(){var e=ft(this,ln.extend({},s),i);(r||U.get(this,"finish"))&&e.stop(!0)};return o.finish=o,r||!1===i.queue?this.each(o):this.queue(i.queue,o)},stop:function(s,a,d){var n=function(n){var e=n.stop;delete n.stop,e(d)};return"string"!=typeof s&&(d=a,a=s,s=void 0),a&&this.queue(s||"fx",[]),this.each(function(){var e=!0,r=null!=s&&s+"queueHooks",i=ln.timers,o=U.get(this);if(r)o[r]&&o[r].stop&&n(o[r]);else for(r in o)o[r]&&o[r].stop&&at.test(r)&&n(o[r]);for(r=i.length;r--;)i[r].elem!==this||null!=s&&i[r].queue!==s||(i[r].anim.stop(d),e=!1,i.splice(r,1));!e&&d||ln.dequeue(this,s)})},finish:function(s){return!1!==s&&(s=s||"fx"),this.each(function(){var e,t=U.get(this),n=t[s+"queue"],r=t[s+"queueHooks"],i=ln.timers,o=n?n.length:0;for(t.finish=!0,ln.queue(this,s,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===s&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),ln.each(["toggle","show","hide"],function(a,o){var t=ln.fn[o];ln.fn[o]=function(n,a,s){return null==n||"boolean"==typeof n?t.apply(this,arguments):this.animate(lt(o,!0),n,a,s)}}),ln.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(n,a){ln.fn[n]=function(t,e,n){return this.animate(a,t,e,n)}}),ln.timers=[],ln.fx.tick=function(){var a,e=0,t=ln.timers;for(Ke=Date.now();e<t.length;e++)(a=t[e])()||t[e]!==a||t.splice(e--,1);t.length||ln.fx.stop(),Ke=void 0},ln.fx.timer=function(t){ln.timers.push(t),ln.fx.start()},ln.fx.interval=13,ln.fx.start=function(){Je||(Je=!0,en())},ln.fx.stop=function(){Je=null},ln.fx.speeds={slow:600,fast:200,_default:400},ln.fn.delay=function(a,e){return a=ln.fx&&ln.fx.speeds[a]||a,e=e||"fx",this.queue(e,function(e,t){var n=Zt.setTimeout(e,a);t.stop=function(){Zt.clearTimeout(n)}})},function(){var n=y.createElement("input"),e=y.createElement("select").appendChild(y.createElement("option"));n.type="checkbox",rn.checkOn=""!==n.value,rn.optSelected=e.selected,(n=y.createElement("input")).value="t",n.type="radio",rn.radioValue="t"===n.value}();var ot,st=ln.expr.attrHandle;ln.fn.extend({attr:function(n,e){return B(this,ln.attr,n,e,1<arguments.length)},removeAttr:function(t){return this.each(function(){ln.removeAttr(this,t)})}}),ln.extend({attr:function(a,e,t){var n,s,i=a.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===a.getAttribute?ln.prop(a,e,t):(1===i&&ln.isXMLDoc(a)||(s=ln.attrHooks[e.toLowerCase()]||(ln.expr.match.bool.test(e)?ot:void 0)),void 0===t?s&&"get"in s&&null!==(n=s.get(a,e))?n:null==(n=ln.find.attr(a,e))?void 0:n:null===t?void ln.removeAttr(a,e):s&&"set"in s&&void 0!==(n=s.set(a,t,e))?n:(a.setAttribute(e,t+""),t))},attrHooks:{type:{set:function(a,e){if(!rn.radioValue&&"radio"===e&&S(a,"input")){var t=a.value;return a.setAttribute("type",e),t&&(a.value=t),e}}}},removeAttr:function(a,e){var t,n=0,o=e&&e.match(P);if(o&&1===a.nodeType)for(;t=o[n++];)a.removeAttribute(t)}}),ot={set:function(a,e,t){return!1===e?ln.removeAttr(a,t):a.setAttribute(t,t),t}},ln.each(ln.expr.match.bool.source.match(/\w+/g),function(a,e){var s=st[e]||ln.find.attr;st[e]=function(n,e,t){var r,i,o=e.toLowerCase();return t||(i=st[o],st[o]=r,r=null==s(n,e,t)?null:o,st[o]=i),r}});var it=/^(?:input|select|textarea|button)$/i,pt=/^(?:a|area)$/i;ln.fn.extend({prop:function(n,e){return B(this,ln.prop,n,e,1<arguments.length)},removeProp:function(t){return this.each(function(){delete this[ln.propFix[t]||t]})}}),ln.extend({prop:function(a,e,t){var n,s,i=a.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&ln.isXMLDoc(a)||(e=ln.propFix[e]||e,s=ln.propHooks[e]),void 0===t?s&&"get"in s&&null!==(n=s.get(a,e))?n:a[e]:s&&"set"in s&&void 0!==(n=s.set(a,t,e))?n:a[e]=t},propHooks:{tabIndex:{get:function(n){var e=ln.find.attr(n,"tabindex");return e?parseInt(e,10):it.test(n.nodeName)||pt.test(n.nodeName)&&n.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),rn.optSelected||(ln.propHooks.selected={get:function(n){var e=n.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(n){var e=n.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),ln.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ln.propFix[this.toLowerCase()]=this}),ln.fn.extend({addClass:function(d){var e,t,n,r,i,o,a,s=0;if(dn(d))return this.each(function(e){ln(this).addClass(d.call(this,e,vt(this)))});if((e=yt(d)).length)for(;t=this[s++];)if(r=vt(t),n=1===t.nodeType&&" "+dt(r)+" "){for(o=0;i=e[o++];)0>n.indexOf(" "+i+" ")&&(n+=i+" ");r!==(a=dt(n))&&t.setAttribute("class",a)}return this},removeClass:function(d){var e,t,n,r,i,o,a,s=0;if(dn(d))return this.each(function(e){ln(this).removeClass(d.call(this,e,vt(this)))});if(!arguments.length)return this.attr("class","");if((e=yt(d)).length)for(;t=this[s++];)if(r=vt(t),n=1===t.nodeType&&" "+dt(r)+" "){for(o=0;i=e[o++];)for(;-1<n.indexOf(" "+i+" ");)n=n.replace(" "+i+" "," ");r!==(a=dt(n))&&t.setAttribute("class",a)}return this},toggleClass:function(s,a){var d=typeof s,n="string"==d||Array.isArray(s);return"boolean"==typeof a&&n?a?this.addClass(s):this.removeClass(s):dn(s)?this.each(function(e){ln(this).toggleClass(s.call(this,e,vt(this),a),a)}):this.each(function(){var e,t,i,o;if(n)for(t=0,i=ln(this),o=yt(s);e=o[t++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else void 0!==s&&"boolean"!=d||((e=vt(this))&&U.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===s?"":U.get(this,"__className__")||""))})},hasClass:function(a){var e,t,n=0;for(e=" "+a+" ";t=this[n++];)if(1===t.nodeType&&-1<(" "+dt(vt(t))+" ").indexOf(e))return!0;return!1}});var ht=/\r/g;ln.fn.extend({val:function(a){var e,t,o,n=this[0];return arguments.length?(o=dn(a),this.each(function(t){var n;1===this.nodeType&&(null==(n=o?a.call(this,t,ln(this).val()):a)?n="":"number"==typeof n?n+="":Array.isArray(n)&&(n=ln.map(n,function(t){return null==t?"":t+""})),(e=ln.valHooks[this.type]||ln.valHooks[this.nodeName.toLowerCase()])&&"set"in e&&void 0!==e.set(this,n,"value")||(this.value=n))})):n?(e=ln.valHooks[n.type]||ln.valHooks[n.nodeName.toLowerCase()])&&"get"in e&&void 0!==(t=e.get(n,"value"))?t:"string"==typeof(t=n.value)?t.replace(ht,""):null==t?"":t:void 0}}),ln.extend({valHooks:{option:{get:function(n){var e=ln.find.attr(n,"value");return null==e?dt(ln.text(n)):e}},select:{get:function(d){var e,t,n,r=d.options,i=d.selectedIndex,o="select-one"===d.type,a=o?null:[],s=o?i+1:r.length;for(n=0>i?s:o?i:0;n<s;n++)if(((t=r[n]).selected||n===i)&&!t.disabled&&(!t.parentNode.disabled||!S(t.parentNode,"optgroup"))){if(e=ln(t).val(),o)return e;a.push(e)}return a},set:function(s,e){for(var t,n,r=s.options,i=ln.makeArray(e),o=r.length;o--;)((n=r[o]).selected=-1<ln.inArray(ln.valHooks.option.get(n),i))&&(t=!0);return t||(s.selectedIndex=-1),i}}}}),ln.each(["radio","checkbox"],function(){ln.valHooks[this]={set:function(n,e){if(Array.isArray(e))return n.checked=-1<ln.inArray(ln(n).val(),e)}},rn.checkOn||(ln.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})}),rn.focusin="onfocusin"in Zt;var gt=/^(?:focusinfocus|focusoutblur)$/,mt=function(t){t.stopPropagation()};ln.extend(ln.event,{trigger:function(r,p,t,n){var b,o,a,s,u,l,c,f,d=[t||y],h=sn.call(r,"type")?r.type:r,g=sn.call(r,"namespace")?r.namespace.split("."):[];if(o=f=a=t=t||y,3!==t.nodeType&&8!==t.nodeType&&!gt.test(h+ln.event.triggered)&&(-1<h.indexOf(".")&&(g=h.split("."),h=g.shift(),g.sort()),u=0>h.indexOf(":")&&"on"+h,(r=r[ln.expando]?r:new ln.Event(h,"object"==typeof r&&r)).isTrigger=n?2:3,r.namespace=g.join("."),r.rnamespace=r.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,r.result=void 0,r.target||(r.target=t),p=null==p?[r]:ln.makeArray(p,[r]),c=ln.event.special[h]||{},n||!c.trigger||!1!==c.trigger.apply(t,p))){if(!n&&!c.noBubble&&!v(t)){for(s=c.delegateType||h,gt.test(s+h)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(t.ownerDocument||y)&&d.push(a.defaultView||a.parentWindow||Zt)}for(b=0;(o=d[b++])&&!r.isPropagationStopped();)f=o,r.type=1<b?s:c.bindType||h,(l=(U.get(o,"events")||Object.create(null))[r.type]&&U.get(o,"handle"))&&l.apply(o,p),(l=u&&o[u])&&l.apply&&$(o)&&(r.result=l.apply(o,p),!1===r.result&&r.preventDefault());return r.type=h,n||r.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),p)||!$(t)||u&&dn(t[h])&&!v(t)&&((a=t[u])&&(t[u]=null),ln.event.triggered=h,r.isPropagationStopped()&&f.addEventListener(h,mt),t[h](),r.isPropagationStopped()&&f.removeEventListener(h,mt),ln.event.triggered=void 0,a&&(t[u]=a)),r.result}},simulate:function(a,o,t){var n=ln.extend(new ln.Event,t,{type:a,isSimulated:!0});ln.event.trigger(n,null,o)}}),ln.fn.extend({trigger:function(n,e){return this.each(function(){ln.event.trigger(n,e,this)})},triggerHandler:function(a,e){var t=this[0];if(t)return ln.event.trigger(a,e,t,!0)}}),rn.focusin||ln.each({focus:"focusin",blur:"focusout"},function(a,o){var e=function(t){ln.event.simulate(o,t.target,ln.event.fix(t))};ln.event.special[o]={setup:function(){var t=this.ownerDocument||this.document||this,n=U.access(t,o);n||t.addEventListener(a,e,!0),U.access(t,o,(n||0)+1)},teardown:function(){var t=this.ownerDocument||this.document||this,n=U.access(t,o)-1;n?U.access(t,o,n):(t.removeEventListener(a,e,!0),U.remove(t,o))}}});var xt=Zt.location,Tt={guid:Date.now()},Ct=/\?/;ln.parseXML=function(a){var o,t;if(!a||"string"!=typeof a)return null;try{o=new Zt.DOMParser().parseFromString(a,"text/xml")}catch(t){}return t=o&&o.getElementsByTagName("parsererror")[0],o&&!t||ln.error("Invalid XML: "+(t?ln.map(t.childNodes,function(t){return t.textContent}).join("\n"):a)),o};var wt=/\[\]$/,St=/\r?\n/g,Et=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;ln.param=function(a,e){var t,o=[],n=function(a,e){var t=dn(e)?e():e;o[o.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==t?"":t)};if(null==a)return"";if(Array.isArray(a)||a.jquery&&!ln.isPlainObject(a))ln.each(a,function(){n(this.name,this.value)});else for(t in a)bt(t,a[t],e,n);return o.join("&")},ln.fn.extend({serialize:function(){return ln.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=ln.prop(this,"elements");return t?ln.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!ln(this).is(":disabled")&&kt.test(this.nodeName)&&!Et.test(t)&&(this.checked||!he.test(t))}).map(function(a,o){var e=ln(this).val();return null==e?null:Array.isArray(e)?ln.map(e,function(t){return{name:o.name,value:t.replace(St,"\r\n")}}):{name:o.name,value:e.replace(St,"\r\n")}}).get()}});var Nt=/%20/g,At=/#.*$/,jt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,qt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Pt={},Ot={},It="*/".concat("*"),Mt=y.createElement("a");Mt.href=xt.href,ln.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(xt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ln.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(n,e){return e?Bt(Bt(n,ln.ajaxSettings),e):Bt(ln.ajaxSettings,n)},ajaxPrefilter:Dt(Pt),ajaxTransport:Dt(Ot),ajax:function(r,b){function E(o,r,t,a){var c,u,d,y,b,x=r;s||(s=!0,k&&Zt.clearTimeout(k),S=void 0,i=a||"",A.readyState=0<o?4:0,c=200<=o&&300>o||304===o,t&&(y=function(d,e,t){for(var n,r,i,o,a=d.contents,s=d.dataTypes;"*"===s[0];)s.shift(),void 0===n&&(n=d.mimeType||e.getResponseHeader("Content-Type"));if(n)for(r in a)if(a[r]&&a[r].test(n)){s.unshift(r);break}if(s[0]in t)i=s[0];else{for(r in t){if(!s[0]||d.converters[r+" "+s[0]]){i=r;break}o||(o=r)}i=i||o}return i?(i!==s[0]&&s.unshift(i),t[i]):void 0}(N,A,t)),!c&&-1<ln.inArray("script",N.dataTypes)&&0>ln.inArray("json",N.dataTypes)&&(N.converters["text script"]=function(){}),y=function(d,e,p,n){var r,i,o,a,s,h={},l=d.dataTypes.slice();if(l[1])for(o in d.converters)h[o.toLowerCase()]=d.converters[o];for(i=l.shift();i;)if(d.responseFields[i]&&(p[d.responseFields[i]]=e),!s&&n&&d.dataFilter&&(e=d.dataFilter(e,d.dataType)),s=i,i=l.shift())if("*"===i)i=s;else if("*"!==s&&s!==i){if(!(o=h[s+" "+i]||h["* "+i]))for(r in h)if((a=r.split(" "))[1]===i&&(o=h[s+" "+a[0]]||h["* "+a[0]])){!0===o?o=h[r]:!0!==h[r]&&(i=a[0],l.unshift(a[1]));break}if(!0!==o)if(o&&d.throws)e=o(e);else try{e=o(e)}catch(t){return{state:"parsererror",error:o?t:"No conversion from "+s+" to "+i}}}return{state:"success",data:e}}(N,y,A,c),c?(N.ifModified&&((b=A.getResponseHeader("Last-Modified"))&&(ln.lastModified[n]=b),(b=A.getResponseHeader("etag"))&&(ln.etag[n]=b)),204===o||"HEAD"===N.type?x="nocontent":304===o?x="notmodified":(x=y.state,u=y.data,c=!(d=y.error))):(d=x,!o&&x||(x="error",0>o&&(o=0))),A.status=o,A.statusText=(r||x)+"",c?g.resolveWith(p,[u,x,A]):g.rejectWith(p,[A,x,d]),A.statusCode(v),v=void 0,l&&h.trigger(c?"ajaxSuccess":"ajaxError",[A,N,c?u:d]),m.fireWith(p,[A,x]),l&&(h.trigger("ajaxComplete",[A,N]),--ln.active||ln.event.trigger("ajaxStop")))}"object"==typeof r&&(b=r,r=void 0),b=b||{};var S,n,i,o,k,t,s,l,c,u,N=ln.ajaxSetup({},b),p=N.context||N,h=N.context&&(p.nodeType||p.jquery)?ln(p):ln.event,g=ln.Deferred(),m=ln.Callbacks("once memory"),v=N.statusCode||{},d={},f={},x="canceled",A={readyState:0,getResponseHeader:function(n){var e;if(s){if(!o)for(o={};e=Lt.exec(i);)o[e[1].toLowerCase()+" "]=(o[e[1].toLowerCase()+" "]||[]).concat(e[2]);e=o[n.toLowerCase()+" "]}return null==e?null:e.join(", ")},getAllResponseHeaders:function(){return s?i:null},setRequestHeader:function(n,e){return null==s&&(n=f[n.toLowerCase()]=f[n.toLowerCase()]||n,d[n]=e),this},overrideMimeType:function(t){return null==s&&(N.mimeType=t),this},statusCode:function(n){if(n)if(s)A.always(n[A.status]);else for(var e in n)v[e]=[v[e],n[e]];return this},abort:function(n){var e=n||x;return S&&S.abort(e),E(0,e),this}};if(g.promise(A),N.url=((r||N.url||xt.href)+"").replace(Ht,xt.protocol+"//"),N.type=b.method||b.type||N.method||N.type,N.dataTypes=(N.dataType||"*").toLowerCase().match(P)||[""],null==N.crossDomain){t=y.createElement("a");try{t.href=N.url,t.href=t.href,N.crossDomain=Mt.protocol+"//"+Mt.host!=t.protocol+"//"+t.host}catch(t){N.crossDomain=!0}}if(N.data&&N.processData&&"string"!=typeof N.data&&(N.data=ln.param(N.data,N.traditional)),Ft(Pt,N,b,A),s)return A;for(c in(l=ln.event&&N.global)&&0==ln.active++&&ln.event.trigger("ajaxStart"),N.type=N.type.toUpperCase(),N.hasContent=!qt.test(N.type),n=N.url.replace(At,""),N.hasContent?N.data&&N.processData&&0===(N.contentType||"").indexOf("application/x-www-form-urlencoded")&&(N.data=N.data.replace(Nt,"+")):(u=N.url.slice(n.length),N.data&&(N.processData||"string"==typeof N.data)&&(n+=(Ct.test(n)?"&":"?")+N.data,delete N.data),!1===N.cache&&(n=n.replace(jt,"$1"),u=(Ct.test(n)?"&":"?")+"_="+Tt.guid++ +u),N.url=n+u),N.ifModified&&(ln.lastModified[n]&&A.setRequestHeader("If-Modified-Since",ln.lastModified[n]),ln.etag[n]&&A.setRequestHeader("If-None-Match",ln.etag[n])),(N.data&&N.hasContent&&!1!==N.contentType||b.contentType)&&A.setRequestHeader("Content-Type",N.contentType),A.setRequestHeader("Accept",N.dataTypes[0]&&N.accepts[N.dataTypes[0]]?N.accepts[N.dataTypes[0]]+("*"===N.dataTypes[0]?"":", "+It+"; q=0.01"):N.accepts["*"]),N.headers)A.setRequestHeader(c,N.headers[c]);if(N.beforeSend&&(!1===N.beforeSend.call(p,A,N)||s))return A.abort();if(x="abort",m.add(N.complete),A.done(N.success),A.fail(N.error),S=Ft(Ot,N,b,A)){if(A.readyState=1,l&&h.trigger("ajaxSend",[A,N]),s)return A;N.async&&0<N.timeout&&(k=Zt.setTimeout(function(){A.abort("timeout")},N.timeout));try{s=!1,S.send(d,E)}catch(t){if(s)throw t;E(-1,t)}}else E(-1,"No Transport");return A},getJSON:function(a,e,t){return ln.get(a,e,t,"json")},getScript:function(n,e){return ln.get(n,void 0,e,"script")}}),ln.each(["get","post"],function(n,a){ln[a]=function(o,s,d,l){return dn(s)&&(l=l||d,d=s,s=void 0),ln.ajax(ln.extend({url:o,type:a,dataType:l,data:s,success:d},ln.isPlainObject(o)&&o))}}),ln.ajaxPrefilter(function(n){for(var e in n.headers)"content-type"===e.toLowerCase()&&(n.contentType=n.headers[e]||"")}),ln._evalUrl=function(a,o,t){return ln.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(n){ln.globalEval(n,o,t)}})},ln.fn.extend({wrapAll:function(n){var e;return this[0]&&(dn(n)&&(n=n.call(this[0])),e=ln(n,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(a){return dn(a)?this.each(function(e){ln(this).wrapInner(a.call(this,e))}):this.each(function(){var e=ln(this),t=e.contents();t.length?t.wrapAll(a):e.append(a)})},wrap:function(a){var e=dn(a);return this.each(function(t){ln(this).wrapAll(e?a.call(this,t):a)})},unwrap:function(t){return this.parent(t).not("body").each(function(){ln(this).replaceWith(this.childNodes)}),this}}),ln.expr.pseudos.hidden=function(t){return!ln.expr.pseudos.visible(t)},ln.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},ln.ajaxSettings.xhr=function(){try{return new Zt.XMLHttpRequest}catch(t){}};var Rt={0:200,1223:204},Wt=ln.ajaxSettings.xhr();rn.cors=!!Wt&&"withCredentials"in Wt,rn.ajax=Wt=!!Wt,ln.ajaxTransport(function(r){var d,t;if(rn.cors||Wt&&!r.crossDomain)return{send:function(e,n){var o,a=r.xhr();if(a.open(r.type,r.url,r.async,r.username,r.password),r.xhrFields)for(o in r.xhrFields)a[o]=r.xhrFields[o];for(o in r.mimeType&&a.overrideMimeType&&a.overrideMimeType(r.mimeType),r.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)a.setRequestHeader(o,e[o]);d=function(o){return function(){d&&(d=t=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===o?a.abort():"error"===o?"number"==typeof a.status?n(a.status,a.statusText):n(0,"error"):n(Rt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=d(),t=a.onerror=a.ontimeout=d("error"),void 0===a.onabort?a.onreadystatechange=function(){4===a.readyState&&Zt.setTimeout(function(){d&&t()})}:a.onabort=t,d=d("abort");try{a.send(r.hasContent&&r.data||null)}catch(t){if(d)throw t}},abort:function(){d&&d()}}}),ln.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),ln.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return ln.globalEval(t),t}}}),ln.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),ln.ajaxTransport("script",function(a){var o,t;if(a.crossDomain||a.scriptAttrs)return{send:function(e,n){o=ln("<script>").attr(a.scriptAttrs||{}).prop({charset:a.scriptCharset,src:a.url}).on("load error",t=function(a){o.remove(),t=null,a&&n("error"===a.type?404:200,a.type)}),y.head.appendChild(o[0])},abort:function(){t&&t()}}});var zt,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;ln.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var t=Xt.pop()||ln.expando+"_"+Tt.guid++;return this[t]=!0,t}}),ln.ajaxPrefilter("json jsonp",function(r,e,t){var n,i,o,a=!1!==r.jsonp&&(Vt.test(r.url)?"url":"string"==typeof r.data&&0===(r.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(r.data)&&"data");if(a||"jsonp"===r.dataTypes[0])return n=r.jsonpCallback=dn(r.jsonpCallback)?r.jsonpCallback():r.jsonpCallback,a?r[a]=r[a].replace(Vt,"$1"+n):!1!==r.jsonp&&(r.url+=(Ct.test(r.url)?"&":"?")+r.jsonp+"="+n),r.converters["script json"]=function(){return o||ln.error(n+" was not called"),o[0]},r.dataTypes[0]="json",i=Zt[n],Zt[n]=function(){o=arguments},t.always(function(){void 0===i?ln(Zt).removeProp(n):Zt[n]=i,r[n]&&(r.jsonpCallback=e.jsonpCallback,Xt.push(n)),o&&dn(i)&&i(o[0]),o=i=void 0}),"script"}),rn.createHTMLDocument=((zt=y.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===zt.childNodes.length),ln.parseHTML=function(a,s,d){return"string"==typeof a?("boolean"==typeof s&&(d=s,s=!1),s||(rn.createHTMLDocument?((l=(s=y.implementation.createHTMLDocument("")).createElement("base")).href=y.location.href,s.head.appendChild(l)):s=y),i=!d&&[],(r=N.exec(a))?[s.createElement(r[1])]:(r=xe([a],s,i),i&&i.length&&ln(i).remove(),ln.merge([],r.childNodes))):[];var l,r,i},ln.fn.load=function(d,l,p){var n,r,i,o=this,a=d.indexOf(" ");return-1<a&&(n=dt(d.slice(a)),d=d.slice(0,a)),dn(l)?(p=l,l=void 0):l&&"object"==typeof l&&(r="POST"),0<o.length&&ln.ajax({url:d,type:r||"GET",dataType:"html",data:l}).done(function(t){i=arguments,o.html(n?ln("<div>").append(ln.parseHTML(t)).find(n):t)}).always(p&&function(n,e){o.each(function(){p.apply(this,i||[n.responseText,e,n])})}),this},ln.expr.pseudos.animated=function(n){return ln.grep(ln.timers,function(e){return n===e.elem}).length},ln.offset={setOffset:function(d,e,t){var n,r,i,o,a,s,p=ln.css(d,"position"),l=ln(d),c={};"static"===p&&(d.style.position="relative"),a=l.offset(),i=ln.css(d,"top"),s=ln.css(d,"left"),("absolute"===p||"fixed"===p)&&-1<(i+s).indexOf("auto")?(o=(n=l.position()).top,r=n.left):(o=parseFloat(i)||0,r=parseFloat(s)||0),dn(e)&&(e=e.call(d,t,ln.extend({},a))),null!=e.top&&(c.top=e.top-a.top+o),null!=e.left&&(c.left=e.left-a.left+r),"using"in e?e.using.call(d,c):l.css(c)}},ln.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(e){ln.offset.setOffset(this,a,e)});var e,t,n=this[0];return n?n.getClientRects().length?(e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView,{top:e.top+t.pageYOffset,left:e.left+t.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var a,e,t,n=this[0],o={top:0,left:0};if("fixed"===ln.css(n,"position"))e=n.getBoundingClientRect();else{for(e=this.offset(),t=n.ownerDocument,a=n.offsetParent||t.documentElement;a&&(a===t.body||a===t.documentElement)&&"static"===ln.css(a,"position");)a=a.parentNode;a&&a!==n&&1===a.nodeType&&((o=ln(a).offset()).top+=ln.css(a,"borderTopWidth",!0),o.left+=ln.css(a,"borderLeftWidth",!0))}return{top:e.top-o.top-ln.css(n,"marginTop",!0),left:e.left-o.left-ln.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&"static"===ln.css(t,"position");)t=t.offsetParent;return t||oe})}}),ln.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,s){var t="pageYOffset"===s;ln.fn[a]=function(e){return B(this,function(n,e,a){var i;return(v(n)?i=n:9===n.nodeType&&(i=n.defaultView),void 0===a)?i?i[s]:n[e]:void(i?i.scrollTo(t?i.pageXOffset:a,t?a:i.pageYOffset):n[e]=a)},a,e,arguments.length)}}),ln.each(["top","left"],function(n,a){ln.cssHooks[a]=ze(rn.pixelPosition,function(t,e){if(e)return e=_e(t,a),De.test(e)?ln(t).position()[a]+"px":e})}),ln.each({Height:"height",Width:"width"},function(a,e){ln.each({padding:"inner"+a,content:e,"":"outer"+a},function(t,d){ln.fn[d]=function(n,r){var o=arguments.length&&(t||"boolean"!=typeof n),l=t||(!0===n||!0===r?"margin":"border");return B(this,function(e,t,n){var s;return v(e)?0===d.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(s=e.documentElement,tn(e.body["scroll"+a],s["scroll"+a],e.body["offset"+a],s["offset"+a],s["client"+a])):void 0===n?ln.css(e,t,l):ln.style(e,t,n,l)},e,o?n:void 0,o)}})}),ln.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(n,a){ln.fn[a]=function(t){return this.on(a,t)}}),ln.fn.extend({bind:function(a,e,t){return this.on(a,null,e,t)},unbind:function(n,e){return this.off(n,null,e)},delegate:function(a,e,t,n){return this.on(e,a,t,n)},undelegate:function(a,e,t){return 1===arguments.length?this.off(a,"**"):this.off(e,a||"**",t)},hover:function(n,e){return this.mouseenter(n).mouseleave(e||n)}}),ln.each(["blur","focus","focusin","focusout","resize","scroll","click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","change","select","submit","keydown","keypress","keyup","contextmenu"],function(n,a){ln.fn[a]=function(t,e){return 0<arguments.length?this.on(a,null,t,e):this.trigger(a)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;ln.proxy=function(a,e){var o,n,s;if("string"==typeof e&&(o=a[e],e=a,a=o),dn(a))return n=an.call(arguments,2),s=function(){return a.apply(e||this,n.concat(an.call(arguments)))},s.guid=a.guid=a.guid||ln.guid++,s},ln.holdReady=function(t){t?ln.readyWait++:ln.ready(!0)},ln.isArray=Array.isArray,ln.parseJSON=JSON.parse,ln.nodeName=S,ln.isFunction=dn,ln.isWindow=v,ln.camelCase=z,ln.type=w,ln.now=Date.now,ln.isNumeric=function(n){var e=ln.type(n);return("number"===e||"string"===e)&&!isNaN(n-parseFloat(n))},ln.trim=function(t){return null==t?"":(t+"").replace(Gt,"")},void 0===(t=function(){return ln}.apply(e,[]))||(Kt.exports=t);var Yt=Zt.jQuery,Qt=Zt.$;return ln.noConflict=function(t){return Zt.$===ln&&(Zt.$=Qt),t&&Zt.jQuery===ln&&(Zt.jQuery=Yt),ln},void 0===n&&(Zt.jQuery=Zt.$=ln),ln})}},e={};(()=>{"use strict";function N(t){return"string"==typeof t?document.getElementById(t):t}function A(e){return!!(e=N(e))&&"none"===getComputedStyle(e).display}function e(t){return!A(t)}function t(t){return!!t}function i(e){return /^\s*$/.test(N(e).innerHTML)}function n(n){var e=n.style;e.height=e.maxHeight=e.minHeight="auto",e.display="none"}function a(n){var e=n.style;e.height=e.maxHeight=e.minHeight="auto",e.display="none",[].forEach.call(n.children,a)}function o(t){t.style.height="1px",t.style["min-height"]="1px",t.style["max-height"]="1px",[].forEach.call(t.children,o)}function s(n){var e=n.style;e.height=e.maxHeight=e.minHeight="auto",e.removeProperty("display")}function r(a,e){var t;return function(){return a&&(t=a.call(e||this,arguments),a=null),t}}function l(n){var e=document.createElement("script");e.src=n,document.body.appendChild(e)}function c(n,a){return n.push=function(t){return a(),delete this.push,this.push(t)},n}function j(){return"undefined"!=typeof googletag&&!!googletag.apiReady}function v(){var t;j()||(window.googletag={cmd:(t=g,c([],t))})}function u(a){var e=a.split("_")[0],t=x.ids[e],o=x.slots[t];return"function"==typeof o&&(o=o(e)),{path:"/248424177/"+b+"/"+t+"/"+m,sizes:o,zone:t}}function d(l){try{Array.isArray(clc.dfp.slotsRenderedEvents)||(clc.dfp.slotsRenderedEvents=[]),clc.dfp.slotsRenderedEvents.push(l);var e=l.slot.getSlotElementId(),t=[];e||t.push("id=0");var p=document.getElementById(e);if(e&&!p?t.push("el=0"):p.hasAttribute("data-clc-stalled")&&t.push("st=1"),0!==t.length)return void T(t.join("&"));var g=u(e),i=(g.path,g.sizes,g.zone);if(clc.collapse&&clc.collapse[i]&&l.isEmpty)return p.id,a(p),void p.setAttribute("data-clc-ready","true");p.id,l.lineItemId;var m=-1!==y.dh.indexOf(l.lineItemId),c=(y.cpa_liid&&0<y.cpa_liid.length||y.cpa_cid&&0<y.cpa_cid.length)&&(y.cpa_liid&&-1!==y.cpa_liid.indexOf(l.lineItemId)||y.cpa_cid&&-1!==y.cpa_cid.indexOf(l.creativeId));if(m||c){o(p),c&&y.cpas&&p.setAttribute("data-clc-cpa-reserved","true");var f=p.parentElement;c&&f.classList.contains("js-zone-container")&&f.querySelectorAll(".js-report-ad-button-container")[0].remove()}else if(l.lineItemId){if(p.setAttribute("data-clc-prefilled","true"),(f=p.parentElement).classList.contains("js-zone-container")){switch(n(f),p.id,f.querySelectorAll(".js-report-ad-button-container")[0].style.height="24px",e){case"dfp-tlb":0===y.tlb_position?f.classList.add("mb8"):f.classList.add("my8");break;case"dfp-tag":f.classList.add("mb8");break;case"dfp-mlb":case"dfp-smlb":case"dfp-bmlb":f.classList.add("my8");break;case"dfp-isb":f.classList.add("mt24");break;case"dfp-m-aq":f.classList.add("my12"),f.classList.add("mx-auto");}s(f),s(p)}else s(p);"dfp-msb"==e&&a(document.getElementById("hireme"))}p.setAttribute("data-clc-ready","true")}catch(t){var d=document.querySelector("#dfp-tsb, #dfp-isb, #clc-tsb");d&&d.setAttribute("data-clc-ready","true"),T("e=1")}}function f(d,e){"dfp-isb"===d&&e.pubads().setTargeting("Sidebar",["Inline"]),"dfp-tsb"===d&&e.pubads().setTargeting("Sidebar",["Right"]);var t=u(d),n=t.path,r=t.sizes;t.zone,JSON.stringify(r);var i=e.defineSlot(n,r,d);i.addService(e.pubads());var o=d.split("_");if("clc-cpa"==o[0]&&o[1]){var a=o[1];i.setTargeting("talent-company-id",a)}}window.clc=window.clc||{};var y=function(a,e){for(var t in e)a[t]=e[t];return a}({"lib":"https://cdn.sstatic.net/clc/clc.min.js?v=928e9353f0e8","style":"https://cdn.sstatic.net/clc/styles/clc.min.css?v=dd7c0645af5d","u":"https://clc.stackoverflow.com/markup.js","wa":true,"kt":2000,"tto":true,"h":"clc.stackoverflow.com","allowed":"^(((talent\\.)?stackoverflow)|(blog\\.codinghorror)|(serverfault|askubuntu)|([^\\.]+\\.stackexchange))\\.com$","wv":true,"al":false,"dh":[5171832659],"abd":true,"cpa_liid":[5882654614],"cpa_cid":[138377597667],"cpas":true,"dp":false},clc.options||{}),p=r(function(){l(y.lib)});window.clc=window.clc||{},clc.cmd=clc.cmd||[];var h=clc.cmd;Array.isArray(clc.cmd)&&(0<clc.cmd.length?p():c(clc.cmd,p));var g=r(function(){y.targeting_consent||void 0===y.targeting_consent?l("https://securepubads.g.doubleclick.net/tag/js/gpt.js"):l("https://pagead2.googlesyndication.com/tag/js/gpt.js")}),m=/^\/tags\//.test(location.pathname)||/^\/questions\/tagged\//.test(location.pathname)?"tag-pages":/^\/$/.test(location.pathname)||/^\/home/.test(location.pathname)?"home-page":"question-pages",b=location.hostname,x={slots:{lb:[[728,90]],mlb:[[728,90]],smlb:[[728,90]],bmlb:[[728,90]],sb:function(t){return"dfp-tsb"===t?[[300,250],[300,600]]:[[300,250]]},"tag-sponsorship":[[730,135]],"mobile-below-question":[[320,50],[300,250]],msb:[[300,250],[300,600]],"talent-conversion-tracking":[[1,1]]},ids:{"dfp-tlb":"lb","dfp-mlb":"mlb","dfp-smlb":"smlb","dfp-bmlb":"bmlb","dfp-tsb":"sb","dfp-isb":"sb","dfp-tag":"tag-sponsorship","dfp-msb":"msb","dfp-m-aq":"mobile-below-question","clc-tlb":"lb","clc-mlb":"mlb","clc-tsb":"sb","clc-cpa":"talent-conversion-tracking"}},T=function(t){new Image().src="https://"+y.h+"/stalled.gif?"+t};k(291),window.clc=window.clc||{},clc.options=y,clc.cmd=h,clc.dfp={load:function o(s){void 0===s&&(s=Object.keys(x.ids).filter(function(t){return"clc-cpa"!=t}));var r=0===y.tlb_position?["dfp-mlb","dfp-smlb"]:["dfp-mlb","dfp-smlb","dfp-tlb"];if(!j())return v(),void googletag.cmd.push(function(){return o(s)});var l=function(o){var n=o.map(N).filter(t);return{eligible:n.filter(i).filter(e),ineligible:n.filter(A)}}(s),p=l.eligible,c=l.ineligible;if(p.forEach(function(t){n(t)}),c.forEach(a),0!==p.length){var u;y.abd&&((u=document.createElement("div")).className="adsbox",u.id="clc-abd",u.style.position="absolute",u.style.pointerEvents="none",u.innerHTML="&nbsp;",document.body.appendChild(u));var h=googletag.pubads().getSlots().filter(function(t){return 0<=s.indexOf(t.getSlotElementId())});googletag.destroySlots(h),y.sf&&(googletag.pubads().setForceSafeFrame(!0),googletag.pubads().setSafeFrameConfig({allowOverlayExpansion:!0,allowPushExpansion:!0,sandbox:!0})),void 0!==y.targeting_consent&&(y.targeting_consent,googletag.pubads().setRequestNonPersonalizedAds(y.targeting_consent?0:1),y.targeting_consent||googletag.pubads().setPrivacySettings({limitedAds:!0})),y.ll||googletag.pubads().enableSingleRequest(),window.clc=window.clc||{},clc.sreEvent||(googletag.pubads().addEventListener("slotRenderEnded",d),clc.sreEvent=!0),function(a){var e=window.clc&&clc.dfp&&clc.dfp.targeting||{};"SystemDefault"===e.ProductVariant&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?e.ProductVariant="Dark":e.ProductVariant="Light"),Object.keys(e).forEach(function(t){e[t],a.pubads().setTargeting(t,e[t])})}(googletag);var g=p.filter(function(t){return!y.ll||0>r.indexOf(t.id)}),m=p.filter(function(t){return!!y.ll&&0<=r.indexOf(t.id)});g.forEach(function(t){t.id,f(t.id,googletag),t.setAttribute("data-dfp-zone","true")}),googletag.enableServices(),g.forEach(function(t){t.id,googletag.cmd.push(function(){googletag.display(t.id)})}),y.ll&&(googletag.pubads().enableLazyLoad({fetchMarginPercent:0,renderMarginPercent:0}),m.forEach(function(t){t.id,f(t.id,googletag),t.setAttribute("data-clc-prefilled","true")}),m.forEach(function(t){t.id,googletag.cmd.push(function(){googletag.display(t.id)})}))}}},y.al&&h.push(function(){return clc.load()}),v()})()})();</script><script>
    var clc = clc || {};
    clc.collapse = { sb: !0, 'tag-sponsorship': !0, lb: !0, mlb: !0, smlb: !0, bmlb: !0, 'mobile-below-question': !0 };
    clc.options = clc.options || {};
    clc.options.sf = !1;
    clc.options.hb = !1;
    clc.options.ll = !0;
    clc.options.tlb_position = 0;
    clc.options.targeting_consent = !0;
    clc.options.performance_consent = !0;
        clc.dfp = clc.dfp || {};
        clc.dfp.targeting = {Registered:['false'],'ru.so-tag':['c_plus_plus','матрицы'],NumberOfAnswers:['1']};

        if (window.location.hash.indexOf('ads:cat=cp') >= 0)
        {
            clc.dfp.targeting.CompanyPageAd = '1';
        }
        
        clc.dfp.targeting.TargetingConsent = ['true'];

        const urlParams = new URLSearchParams(window.location.search);
        if (urlParams.has('dfptestads')) {
            const dfptestads = urlParams.get('dfptestads');
            clc.dfp.targeting.DfpTestAds = dfptestads;
        }
        
        var googletag = googletag || {};
        googletag.cmd = googletag.cmd || [];
        googletag.cmd.push(function () { clc.dfp.load(); });
</script><script src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/gpt.js"></script>

            <footer id="footer" class="site-footer js-footer" role="contentinfo">
        <div class="site-footer--container">
            <nav class="site-footer--nav">
                    <div class="site-footer--col">
                        <h5 class="-title"><a href="https://ru.stackoverflow.com/">Stack Overflow на русском</a></h5>
                        <ul class="-list js-primary-footer-links">
                                    <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 2 })" href="https://ru.stackoverflow.com/tour">Тур</a></li>
                                <li><a href="https://ru.stackoverflow.com/help" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 3 })">Справка</a></li>
                                    <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 5 })" href="https://chat.stackexchange.com/?tab=site&amp;host=ru.stackoverflow.com">Чат</a></li>
                            <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 13 })" href="https://ru.stackoverflow.com/contact">Связаться с нами</a></li>
                                <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 14 })" href="https://ru.meta.stackoverflow.com/">Оставить отзыв</a></li>
                        </ul>
                    </div>
                <div class="site-footer--col">
                    <h5 class="-title"><a class="js-gps-track" data-gps-track="footer.click({ location: 2, link: 1 })" href="https://stackoverflow.co/">Компания</a></h5>
                    <ul class="-list">
                            <li><a href="https://stackoverflow.com/" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 15})">Stack Overflow</a></li>
                            <li><a href="https://stackoverflow.co/teams" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 29 })">Командам</a></li>
                            <li><a href="https://stackoverflow.co/advertising" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 21 })">Рекламируйте с нами</a></li>
                                <li><a href="https://stackoverflow.co/talent" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 20 })">Наймите разработчика</a></li>
                                <li><a href="https://stackoverflow.com/jobs" class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 17})">Вакансии для разработчиков</a></li>
                                <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 1 })" href="https://stackoverflow.co/">О компании</a></li>
                        <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 27 })" href="https://stackoverflow.co/company/press">Упоминания в СМИ</a></li>
                        <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 7 })" href="https://stackoverflow.com/legal">Соглашение</a></li>
                        <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 8 })" href="https://stackoverflow.com/legal/privacy-policy">Политика конфиденциальности</a></li>
                        <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 37 })" href="https://stackoverflow.com/legal/terms-of-service">Условия использования</a></li>
                            <li class="" id="consent-footer-link"><a class="js-gps-track -link js-cookie-settings" data-gps-track="footer.click({ location: 2, link: 38 })" href="https://ru.stackoverflow.com/questions/901454/%D0%9E%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B8%D1%82%D0%B5-%D1%87%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5-%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B-%D0%BA%D0%B0%D0%BA-%D0%B8%D1%85-%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%BE#" data-consent-popup-loader="footer">Настройки файлов cookie</a></li>
                        <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link: 39 })" href="https://stackoverflow.com/legal/cookie-policy">Политика о Cookie</a></li>
                    </ul>
                </div>
                <div class="site-footer--col site-footer--categories-nav">
                    <div>
                        <h5 class="-title"><a href="https://stackexchange.com/" data-gps-track="footer.click({ location: 2, link: 30 })">Stack Exchange Network</a></h5>
                        <ul class="-list">
                            <li>
                                <a href="https://stackexchange.com/sites#technology" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    Технологии
                                </a>
                            </li>
                            <li>
                                <a href="https://stackexchange.com/sites#culturerecreation" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    Культура и отдых
                                </a>
                            </li>
                            <li>
                                <a href="https://stackexchange.com/sites#lifearts" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    Жизнь и искусство
                                </a>
                            </li>
                            <li>
                                <a href="https://stackexchange.com/sites#science" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    Наука
                                </a>
                            </li>
                            <li>
                                <a href="https://stackexchange.com/sites#professional" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    Специализация
                                </a>
                            </li>
                            <li>
                                <a href="https://stackexchange.com/sites#business" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    Бизнес
                                </a>
                            </li>

                            <li class="mt16 md:mt0">
                                <a href="https://api.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    API
                                </a>
                            </li>

                            <li>
                                <a href="https://data.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 24 })">
                                    Данные
                                </a>
                            </li>
                        </ul>
                    </div>
                </div>
            </nav>
            <div class="site-footer--copyright fs-fine md:mt24">
                <ul class="-list -social md:mb8">
                    <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 2, link:4 })" href="https://stackoverflow.blog/?blb=1">Блог</a></li>
                    <li><a href="https://www.facebook.com/officialstackoverflow/" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 31 })">Facebook</a></li>
                    <li><a href="https://twitter.com/stackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 32 })">Твиттер</a></li>
                    <li><a href="https://linkedin.com/company/stack-overflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 33 })">LinkedIn</a></li>
                    <li><a href="https://www.instagram.com/thestackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 2, link: 36 })">Instagram</a></li>
                </ul>

                <p class="md:mb0">
дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии <a href="https://stackoverflow.com/help/licensing">cc by-sa</a>.                    <span id="svnrev">rev&nbsp;2022.3.24.41762</span>
                </p>
            </div>
        </div>

    </footer>

    <noscript>
        <div id="noscript-warning">Stack Overflow &#x43D;&#x430; &#x440;&#x443;&#x441;&#x441;&#x43A;&#x43E;&#x43C; &#x43B;&#x443;&#x447;&#x448;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x441; &#x432;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; JavaScript
            <img src="https://sb.scorecardresearch.com/p?c1=2&amp;c2=17440561&amp;cv=3.6.0&amp;cj=1" alt="">
        </div>
    </noscript>

        <script>
(function(i, s, o, g, r, a, m) {
                i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function() { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o),
                m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m);
            })(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

            StackExchange.ready(function () {

                StackExchange.ga.init({
                    autoLink: ["stackoverflow.blog","info.stackoverflowsolutions.com","stackoverflowsolutions.com"],
                    sendTitles: true,
                    tracker: window.ga,
                    trackingCodes: [
                        'UA-108242619-5'
                    ],
                        checkDimension: 'dimension42'
                });



                    StackExchange.ga.setDimension('dimension2', '|c&#x2B;&#x2B;|&#x43C;&#x430;&#x442;&#x440;&#x438;&#x446;&#x44B;|');


                    StackExchange.ga.setDimension('dimension3', 'Questions/Show');


                StackExchange.ga.setDimension('dimension7', "1648400114.392786135");

                StackExchange.ga.trackPageView();
            });
            
            var _comscore = _comscore || [];
            _comscore.push({ c1: "2", c2: "17440561" });
            (function() {
                var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
                s.src = "https://sb.scorecardresearch.com/cs/17440561/beacon.js";
                el.parentNode.insertBefore(s, el);
            })();
                </script>
    <script>
        (function (d, w, c) {
            (w[c] = w[c] || []).push(function() {
                try {
                    w.yaCounter31923236 = new Ya.Metrika({
                        id:31923236,
                        clickmap:true,
                        trackLinks:true,
                        accurateTrackBounce:true
                    });
                } catch(e) { }
            });

            var n = d.getElementsByTagName("script")[0],
                s = d.createElement("script");
            s.type = "text/javascript";
            s.async = true;
            s.src = "https://mc.yandex.ru/metrika/watch.js";
            n.parentNode.insertBefore(s, n);
        })(document, window, "yandex_metrika_callbacks");
    </script><iframe src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/container.html" style="visibility: hidden; display: none;"></iframe>
    <noscript><div><img src="https://mc.yandex.ru/watch/31923236" style="position:absolute; left:-9999px;" alt="" /></div></noscript>

        
    <div id="onetrust-consent-sdk" class="d-none"></div>
    <div id="onetrust-banner-sdk" data-controller="s-modal"></div>
    <div id="ot-pc-content" class="d-none"></div>
    <div id="onetrust-style" class="d-none">&nbsp;</div>
    <div class="d-none js-consent-banner-version" data-consent-banner-version="baseline"></div>

    
    
    
<div class="adsbox" id="clc-abd" style="position: absolute; pointer-events: none;">&nbsp;</div><iframe src="./c++ - Объясните, что такое разреженные матрицы, как их генерировать и математические операции над ними - Stack Overflow на русском_files/aframe.html" width="0" height="0" style="display: none;"></iframe></body><style id="stylus-1" type="text/css" class="stylus">body {
    font-family: 'pragmata pro mono regular';
}</style></html>